Запустите набор данных SSRS на основе параметров рендеринга, таких как CSV
У меня есть два разных набора данных в отчете SSRS, который дает разные результаты. Я использовал один набор данных для обобщенной информации (например, диаграммы), а другой используется для фактических данных (таблица).
1) Диаграмма будет отображать вывод во время выполнения отчета. 2) Таблица должна выполняться только тогда, когда отчет отображается в CSV.
Требование: мне нужно выполнить один набор данных SP во время выполнения отчета. Другой набор данных SP не должен выполняться при выполнении отчета, он должен выполняться только при отображении отчета в формате CSV
Пример: Dataset1 выполняет Sp1 Dataset2 выполняет Sp2
Диаграмма использует Sp1 и Таблица использует Sp2
Обычно при выполнении отчета Chart отображает вывод. Но SP1 и SP2 выполняются в одно и то же время. Поэтому вывод отчета занимает больше времени.
Поэтому мне нужно ограничить набор фактических данных при запуске отчета.
1 ответ
Невозможно создать условный набор данных на основе глобальных переменных!RenderFormat.Name и позволить службам отчетов обрабатывать его автоматически
Единственные альтернативы вашему вопросу:
Используйте SP2 в качестве общего набора данных, чтобы сэкономить время выполнения SP1 и позволить службам отчетов суммировать данные в диаграмме.
ИЛИ ЖЕ
Вставьте переменную формата с 2 значениями (например, 1. Диаграмма, 2. Таблица для CSV) и дайте пользователю возможность выбрать правильное значение перед запуском отчета. Используйте условие Iif для управления выполнением набора данных, например, для диаграммы= Iif( Parameters!Format.value=1, "SP1 @run=1", "SP1 @run=0")
Обратите внимание, что для этого требуется добавить параметр в ваши хранимые процедуры и использовать их для управления выполнением запроса.
SELECT ...
FROM ...
WHERE ...
@run = 1