Вопрос

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

Я знаю о функции "сообщений без строк", но целая страница с простым "Неприменимо для этого человека" вряд ли является лучшим решением!

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

Любая помощь будет очень ценна

Это было полезно?

Решение

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

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

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

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

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

Другие советы

Это решение сработало для меня, как и ожидалось, исключив гиперссылку на подотчет. В & # 171; Действие & # 187; меню в разделе, где вы указываете имя подотчета:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top