我有SSRS报告,其中有一个基于多值参数的图表。现在,我需要在每个页面上重复这些图表。
示例 - 如果我选择2016年,2017年,那么Page1将显示2016年和2017年的图表。第2页将显示2016年的图表,第3页将显示2011年的图表。
如何使用SSRS做到这一点?
答案 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;