SSRS выполняют SQL/набор данных условно

У меня есть отчет о SSRS, который содержит несколько подчиненных отчетов. У пользователя есть способность выбрать/отменить выбор, какие подчиненные отчеты они хотят произвести использование нескольких булевых параметров. Если подчиненный отчет является невыбранным затем, он не представляется путем установки свойства Visibility. Однако DataSet, связанный с невыбранным подчиненным отчетом все еще, выполняет то, чтобы заставлять время выполнения занять больше времени, чем ожидалось.

Там какой-либо путь состоит в том, чтобы сказать набору данных на подчиненном отчете или Tablix не выполняться на основе выбора Параметра?

8
задан Brian Tompsett - 汤莱恩 17 January 2016 в 23:10
поделиться

2 ответа

Включите условие AND :ParameterName = 'Y' в предложение where - если ваш параметр не 'Y', запрос все равно выполнится, но сразу вернет 0 записей.

8
ответ дан 5 December 2019 в 14:00
поделиться

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

IF @ShowThisData = 0
    SELECT '' FIELD1, '' FIELD2, <etc... to create a dataset that matches the normal output.>
ELSE
    <whatever you normally do to get the data>
3
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: