Vide ou Null affichage de la valeur dans SSRS zones de texte
À l'aide de MICROSATELLITES (2008) quelle est la meilleure façon que vous avez trouvé pour gérer la valeur null ou vide de valeurs et de les remplacer par quelque chose d'autre à afficher. Le tout à fait évident solutions est
=IIF(IsNothing(Fields!MyField.Value),"NA",Fields!MyFields.Value)
Qui fonctionne même si c'est fastidieux, mon espoir était de trouver quelque chose comme un EmptyText de propriété sur la zone de texte, mais hélas rien. Des idées? Devrais-je faire un élément de rapport personnalisé à partir de la zone de texte de base qui crée cette propriété?
Vous devez vous connecter pour publier un commentaire.
Appeler une fonction personnalisée?
http://msdn.microsoft.com/en-us/library/ms155798.aspx
Vous pouvez toujours mettre un cas stmt là pour gérer les différents types de 'vide' de données
Utiliser cette expression, vous pouvez obtenir la réponse.
Ici CStr est une fonction par défaut pour la manipulation de Chaîne de caractères de données.
Je ne serais pas d'accord avec la conversion sur le côté serveur. Si vous n'avez que ça va revenir comme un type de chaîne plutôt que d'un type de date avec tout ce que cela implique (il va trier comme une chaîne de caractères par exemple)
Mon principe lorsque vous traitez avec les dates, c'est pour les garder tapé comme une date pour aussi longtemps que vous le pouvez.
Si votre face à un goulot d'étranglement des performances sur le serveur de rapports il y a de meilleures façons de le gérer que de compromettre votre logique.
Bien que probablement pas mieux que votre solution, vous pouvez ajuster votre T-SQL pour retourner le même résultat à l'aide de FUSIONNER:
Le raisonnement pour l'espace avant le NA est de permettre le tri à la place de la NA les résultats dans la partie supérieure. Vos données peuvent varier, peut-être pas une bonne option.
MATRIX
, vous pouvez avoir unPIVOT
scénario qui aboutit à des "trous" dans vos champs parce que vousINNER JOIN
ed dans votre SQL etLEFT JOIN
il en résulterait un coût de pénalité.Je suis d'accord sur l'exécution de la remplacer sur le SQL, mais à l'aide de la fonction ISNULL serait la façon dont j'allais.
J'ai l'habitude de faire comme beaucoup de traitement de données sur nos serveurs SQL et essayer de faire aussi peu de manipulation de données dans SSRS que possible. C'est principalement parce que mon serveur SQL est considérablement plus puissant que mon serveur SSRS.
COALESCE
surIsNull
tout simplement parce que je travaille avec l'Oracle et SQL Server etCOALESCE
fonctionne avec les deux.Soit en SQL ou dans le code de rapport (comme par adolf ail de la fonction de suggestion)
En ce moment, je le ferais dans le rapport. J'ai très peu de rapports à l'encontre d'un occupé OLTP et un serveur d'underwhelmed serveur de rapports. Si j'avais un autre mélange, j'aimerais le faire en SQL.
Est acceptable...
Je ne pouvais pas obtenir
IsNothing()
de se comporter et je ne voulais pas créer des lignes factices dans mondataset
(par exemple, pour une liste de clients à créer un mannequin à l'ordre par mois affiché) et a remarqué que les valeurs null afficher comme -247192.Lo et voici, l'aide qui a travaillé pour la supprimer (au moins jusqu'à ce que MSFT changements SSRS pour le meilleur de 08R2) donc excusez moi mais:
Essayer cette
J'ai eu une situation similaire, mais la suivante qui a le mieux fonctionné pour moi..