根据CSV

时间:2018-05-04 09:49:14

标签: reporting-services ssrs-2008 ssrs-2012 ssrs-2008-r2 reporting-services-2012

我在SSRS报告中有两个不同的数据集,它们提供不同的输出。我使用了一个数据集来表示汇总信息(即图表),其他数据集用于实际数据(表格)。

1)图表将显示报告执行时的输出。 2)表格只应在报告呈现为CSV时执行。

要求:我需要在报告运行时执行一个数据集SP。其他数据集SP不应在报表运行时执行,只应在报表呈现为CSV格式时运行

示例:Dataset1执行Sp1 Dataset2执行Sp2

图表使用Sp1,表使用Sp2

通常在执行报告图表时会显示输出。但SP1和SP2正在同时执行。因此报告需要更多时间来显示输出。

因此,我需要在运行报告时限制实际数据数据集。

1 个答案:

答案 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