Comment définir la visibilité d'une zone de texte dans SSRS à l'aide d'une expression?

J'ai un champ de sous-total pour une colonne calculée que je veux masquer lorsque mon rapport n'a pas encore été exécuté car les jours sans données, il apparaît comme NaN sur le rapport.

J'ai essayé deux méthodes mais aucune ne fonctionne et je suis sûr que c'est presque correct. Je ne sais pas ce qui ne va pas avec l'expression.

J'ai essayé de me cacher si mon jeu de données n'avait pas de lignes.

=IIf((CountRows("ScannerStatisticsData")=0),False,True)

J'ai aussi essayé de faire un calcul

=iif((fields!Scans.Value / fields!numberOfCases.Value) = 0, False, True)

J'ai aussi essayé de vérifier isnothing sur l'un des colonnes dans le calcul

=iif(IsNothing(fields!Scans.Value), False, True)

Ce que je fais mal?

35
demandé sur TWood 2011-06-08 17:45:51

7 réponses

J'ai essayé l'exemple que vous nous avez fournies, et la seule différence est que vous avez des valeurs Vrai et Faux arrêt @bdparrish l'a souligné. Voici un exemple pratique de rendre une zone de texte SSRS visible ou masquée en fonction du nombre de lignes présentes dans un ensemble de données. Cet exemple utilise SSRS 2008 R2.

Étape-par-étape du processus: SSRS 2008 R2

  1. Dans cet exemple, le rapport a un ensemble de données nommé Items et une zone de texte pour afficher le nombre de lignes. Il dispose également d' une autre zone de texte qui ne sera visible que si les éléments de l'ensemble de données ont des lignes.

  2. Faites un clic droit sur la zone de texte qui doit être visible/cachée en fonction d'une expression et sélectionnez Text Box Properties.... Reportez-vous à la capture d'écran #1.

  3. Dans la boîte de dialogue Text Box Properties, Cliquez sur Visibility dans la section de gauche. Reportez-vous à la capture d'écran #2.

  4. Sélectionnez Show or hide based on an epxression.

  5. Cliquez sur le bouton expression fx.

  6. Entrez l'expression de =IIf(CountRows("Items") = 0 , True, False). Notez que cette expression est de masquer la zone de texte (Caché).

  7. Cliquez deux fois sur OK pour fermer les boîtes de dialogue.

  8. Capture d'écran #3 montre les données dans la table SQL Server dbo.Items, qui est la source de données du rapport ensemble Items. La table contient 3 lignes. Capture d'écran #4 affiche l'exemple d'exécution du rapport par rapport aux données.

  9. Capture d'écran #5 affiche les données en SQL Table serveur dbo.Items, qui est la source de l'ensemble de données du rapport Items. Le tableau contient aucune donnée . Capture d'écran #6 affiche l'exemple d'exécution du rapport par rapport aux données.

J'espère que ça aide.

Capture d'écran #1:

1

Capture d'écran #2:

2

Capture d'écran #3:

3

Capture d'écran #4:

4

Capture d'écran #5:

5

Capture d'écran #6:

6

62
répondu 2011-06-11 13:54:45
=IIf((CountRows("ScannerStatisticsData")=0),False,True)

Doit être remplacé par

=IIf((CountRows("ScannerStatisticsData")=0),True,False)

Parce que l'expression Visibility configure la valeur cachée.

14
répondu Volodymyr 2012-05-05 08:51:18

Cela n'a pas fonctionné

=IIf((CountRows("ScannerStatisticsData") = 0),False,True)

Mais cela a fait et je ne peux pas vraiment expliquer pourquoi

=IIf((CountRows("ScannerStatisticsData") < 1),False,True)

Devinez SSRS n'aime pas les comparaisons égales autant que moins de.

13
répondu TWood 2012-05-05 08:48:24

Au Lieu de cela,

=IIf((CountRows("ScannerStatisticsData")=0),False,True)

Écrivez uniquement l'expression lorsque vous voulez masquer

CountRows("ScannerStatisticsData")=0

Ou changer l'ordre de vrai et faux lieux comme ci-dessous

=IIf((CountRows("ScannerStatisticsData")=0),True,False)

Parce que L'expression de visibilité configure la valeur cachée. que vous pouvez trouver au-dessus de la zone de texte comme

" Set expression for: Hidden " 
6
répondu Mahesh.D 2013-06-27 10:30:02

Changer vos retours faux et vrai? Je pense que si vous les mettez en fonction dans la zone de visibilité, alors false le montrera et true ne le montrera pas.

0
répondu bdparrish 2011-06-08 14:01:55

Visibilité de la zone de texte dépend de la Valeur Cachée

Selon l'exemple ci-dessous, si la condition interne satisfait alors la fonctionnalité cachée de la zone de texte sera vraie sinon si la condition échoue, la fonctionnalité cachée de la zone de texte sera fausse

=IIf((CountRows("ScannerStatisticsData") = 0), True, False)
0
répondu user2299191 2016-02-09 10:35:27

Twood, expression de visibilité est les expressions que vous écrivez sur la façon dont vous voulez que la "visibilité" se comporte. Ainsi, si vous souhaitez masquer ou afficher la zone de texte, vous voulez écrire ceci:

=IIf((CountRows("ScannerStatisticsData")=0),True,False)

Cela signifie que si l'ensemble de données est 0, vous voulez masquer la zone de texte.

0
répondu Marie 2016-02-09 10:35:43