Подтвердить что ты не робот

Как установить видимость текстового поля в SSRS с помощью выражения?

У меня есть поле промежуточного итога для вычисленного столбца, который я хочу скрыть, когда мой отчет еще не запущен, потому что в дни без данных он отображается как NaN в отчете.

Я пробовал два метода, но ни один из них не работает, и я уверен, что он почти прав. Я просто не знаю, что не так с выражением.

Я попытался скрыться, если у моего набора данных не было строк.

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

Я также попытался сделать расчет

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

Я также пробовал проверить, нет ли на одном из столбцов в расчете

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

Что я делаю неправильно?

4b9b3361

Ответ 1

Это не сработало

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

но это произошло, и я не могу объяснить, почему

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

Угадайте, что SSRS не любит равных сравнений меньше чем.

Ответ 2

Я попробовал пример, который вы предоставили, и единственное различие заключается в том, что вы указали значения True и False, как указывал @bdparrish. Ниже приведен рабочий пример создания видимой или скрытой SSRS Texbox в зависимости от количества строк, присутствующих в наборе данных. В этом примере используется SSRS 2008 R2.

Шаг за шагом: SSRS 2008 R2

  • В этом примере отчет имеет набор данных с именем Items и имеет текстовое поле для отображения количества строк. Он также имеет еще одно текстовое поле, которое будет видно только в том случае, если элементы набора данных имеют строки.

  • Щелкните правой кнопкой мыши текстовое поле, которое должно быть видимым/скрытым на основе выражения и выберите Text Box Properties.... См. Снимок экрана # 1.

  • В диалоговом окне Text Box Properties нажмите Visibility в левом разделе. См. Снимок экрана # 2.

  • Выберите Show or hide based on an epxression.

  • Нажмите кнопку выражения fx.

  • Введите выражение =IIf(CountRows("Items") = 0 , True, False). Обратите внимание, что это выражение относится к скрывать текстовое поле (скрыто).

  • Дважды нажмите OK, чтобы закрыть диалоги.

  • Снимок экрана # 3 показывает данные в таблице SQL Server dbo.Items, которая является источником набора данных отчета Items. Таблица содержит 3 строки. Снимок экрана # 4 показывает пример выполнения отчета по данным.

  • Снимок экрана # 5 показывает данные в таблице SQL Server dbo.Items, которая является источником для набора данных отчета Items. Таблица содержит нет данных. Снимок экрана # 6 показывает пример выполнения отчета по данным.

Надеюсь, что это поможет.

Снимок экрана №1:

1

Снимок экрана №2:

2

Снимок экрана №3: ​​

3

Снимок экрана №4:

4

Снимок экрана № 5:

5

Снимок экрана № 6:

6

Ответ 3

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

Следует заменить на

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

потому что выражение Видимость устанавливает значение "Скрытое".

Ответ 4

вместо этого

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

напишите только выражение, если вы хотите скрыть

CountRows("ScannerStatisticsData")=0

или измените порядок истинных и ложных мест, как показано ниже

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

потому что выражение Видимость устанавливает значение "Скрытое". что вы можете найти над текстовой областью как

" Set expression for: Hidden " 

Ответ 5

Включить ложные и истинные возвращения? Я думаю, что если вы поместите их как функцию в область видимости, тогда false покажет ее, и true не покажет ее.

Ответ 6

Видимость текстового поля зависит от скрытого значения

В соответствии с приведенным ниже примером, если внутреннее условие удовлетворяет, тогда текстовое поле. Скрытая функциональность будет True else, если условие терпит неудачу, а затем текстовое поле. Скрытая функциональность будет False

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

Ответ 7

Twood, выражение Visibility - это выражения, которые вы пишете о том, как вы хотите, чтобы "видимость" вела себя. Итак, если вы хотите скрыть или показать текстовое поле, вы должны написать это:

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

Это означает, что если набор данных равен 0, вы хотите скрыть текстовое поле.