我在SSRS报告中有两个不同的数据集,它们提供不同的输出。我使用了一个数据集来表示汇总信息(即图表),其他数据集用于实际数据(表格)。
1)图表将显示报告执行时的输出。 2)表格只应在报告呈现为CSV时执行。
要求:我需要在报告运行时执行一个数据集SP。其他数据集SP不应在报表运行时执行,只应在报表呈现为CSV格式时运行
示例:Dataset1执行Sp1 Dataset2执行Sp2
图表使用Sp1,表使用Sp2
通常在执行报告图表时会显示输出。但SP1和SP2正在同时执行。因此报告需要更多时间来显示输出。
因此,我需要在运行报告时限制实际数据数据集。
答案 0 :(得分:0)
无法创建基于Globals的条件数据集!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