Запустите набор данных 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
Другие вопросы по тегам