Как подавить пустые подотчеты в SSRS 2008 - PullRequest
7 голосов
/ 17 июня 2009

Я создаю «основной» отчет в SSRS 2008, который объединяет другие отчеты о человеке. Иногда не все другие отчеты актуальны и поэтому ничего не возвращают. Я хотел бы иметь возможность исключить это из основного отчета, чтобы он не оставлял пустую страницу.

Мне известна функция «без строк-сообщений», но целая страница с надписью «Неприменимо для этого человека» вряд ли является лучшим решением!

По сути, я ищу способ определить, является ли подотчет «пустым», и использовать его в выражении видимости.

Любая помощь наиболее ценится

Ответы [ 2 ]

13 голосов
/ 17 июня 2009

ОК, теперь я понял это. Ответ заключается в том, чтобы поместить подотчет в прямоугольник. Затем установите видимость прямоугольника примерно так:

=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE)

Где [SOMEDATASET] - это набор данных, заполненный так же, как и тот, который заполняет вложенный отчет. Тогда, если подотчет пуст, то [SOMEDATASET] также будет пустым, а еще к точке, поле [SOMEFEILD] будет равно NOTHING.

Бада-Бинг! Один отчет, который не загроможден пустой тратой бумаги.

Примечание: у этого подхода есть один плохой побочный эффект: сервер SQL будет отправлять одну и ту же информацию дважды, один раз для заполнения набора данных подотчета и еще раз для заполнения дубликата набора данных в отчете. Для меня это приемлемо, другие могут захотеть знать об этом.

0 голосов
/ 13 сентября 2018

Это решение сработало для меня, как и ожидалось, устраняя гиперссылку на подотчет В меню «Действие» в разделе, где вы указываете имя подотчета:

=iif(fields!SomfieldName.Value <> Nothing, "YourSubReportName",Nothing)

Простое и легкое решение!

...