У меня есть отчет о SSRS, который содержит несколько подчиненных отчетов. У пользователя есть способность выбрать/отменить выбор, какие подчиненные отчеты они хотят произвести использование нескольких булевых параметров. Если подчиненный отчет является невыбранным затем, он не представляется путем установки свойства Visibility. Однако DataSet, связанный с невыбранным подчиненным отчетом все еще, выполняет то, чтобы заставлять время выполнения занять больше времени, чем ожидалось.
Там какой-либо путь состоит в том, чтобы сказать набору данных на подчиненном отчете или Tablix не выполняться на основе выбора Параметра?
Включите условие AND :ParameterName = 'Y'
в предложение where - если ваш параметр не 'Y'
, запрос все равно выполнится, но сразу вернет 0 записей.
Да. Просто проверьте параметры в каждом наборе данных и используйте конструкцию 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>