SSRS根据参数

时间:2017-07-13 20:04:42

标签: reporting-services ssrs-2012

我有SSRS报告,其中有一个基于多值参数的图表。现在,我需要在每个页面上重复这些图表。

示例 - 如果我选择2016年,2017年,那么Page1将显示2016年和2017年的图表。第2页将显示2016年的图表,第3页将显示2011年的图表。

如何使用SSRS做到这一点?

1 个答案:

答案 0 :(得分:0)

解决这个问题的一种方法是: 1)添加使用CTE方式创建动态数字表的数据集,并按所选年份限制表。所以现在你有一个每年返回一行的数据集

2)放入列表,将列表绑定到该数据集,并将图表放入该列表,并将年份作为参数传递。

这是多年来@YearVal与多值参数联系的CTE:

    WITH lv0 AS (SELECT 0 g UNION ALL SELECT 0)
    ,lv1 AS (SELECT 0 g FROM lv0 a CROSS JOIN lv0 b) -- 4
    ,lv2 AS (SELECT 0 g FROM lv1 a CROSS JOIN lv1 b) -- 16
    ,lv3 AS (SELECT 0 g FROM lv2 a CROSS JOIN lv2 b) -- 256
    ,lv4 AS (SELECT 0 g FROM lv3 a CROSS JOIN lv3 b) -- 65,536 
    ,Tally (yearVal) AS (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) FROM lv4)
SELECT TOP (5000) yearVal
FROM Tally
WHERE yearVal in (@YearVal)
ORDER BY YearVal;