[英]Dynamic Grouping in SSRS 2012
我正在开发具有以下参数的报告
RowGroupLevel1,
RowGroupLevel2,
ColumnGroupLevel1,
ColumnGroupLevel2,
ColumnGroupLevel3
行组包含类别,执行名称,客户名称(如字段)列组包含Year,Quarter,Month字段。
因此,我的要求与“行和列分组”中的“级别1”相同,其他字段是可选的。
例如:如果我选择如下
方案1:
RowGroupLevel1-类别
RowGroupLevel2-执行名称
ColumnGroupLevel1-年
ColumnGroupLevel2-Quaker
ColumnGroupLevel3-月
方案2:
RowGroupLevel1-类别
RowGroupLevel2-
ColumnGroupLevel1-年
ColumnGroupLevel2-月
ColumnGroupLevel3-
因此,按照上述方案,我可以如何动态地对报告进行分组。
请帮助我创建任何类型的SSRS报告。
提前致谢。 安吉·古萨尼(Ankit Gusani)
实现此目的最简单的方法是,首先编写查询,以将结果向前拉。
SELECT DATEPART(WEEK, Date_Column) AS [Weekly]
,DATEPART(MONTH, Date_Column) AS [Monthly]
,DATEPART(YEAR, Date_Column) AS [Yearly]
,SUM(Some_Column) AS Total
FROM Table_Name
GROUP BY DATEPART(MONTH, Date_Column)
,DATEPART(WEEK, Date_Column)
,DATEPART(YEAR, Date_Column)
添加一个矩阵数据区域。 将Total
列拖放到DATA
。
创建一个Text
类型为GROUP ON
的参数,并提供值
1) Weekly
2) Monthly
3) Yearly
现在,在下面的“行ROW GROUPS
窗格中,右键单击唯一可见的行组,然后转到“ GROUP ON
GROUP PROPERTIES
部分,将其放在下面的表达式中。
=SWITCH(
Parameters!Groupby.Value = "Weekly", Fields!Weekly.Value
,Parameters!Groupby.Value = "Monthly", Fields!Monthly.Value
,Parameters!Groupby.Value = "Yearly", Fields!Yearly.Value
)
在数据区域ROWS
部分使用完全相同的表达式。
对于列名,您可以使用以下表达式...
=SWITCH(
Parameters!Groupby.Value = "Weekly", "Weekly"
,Parameters!Groupby.Value = "Monthly", "Monthly"
,Parameters!Groupby.Value = "Yearly", "Yearly"
)
而且你很好。
重要的提示
SSRS是用于数据表示的一种很酷的工具,但在数据处理方面却不那么酷,为了获得更好的性能,请执行各种更接近源(数据库,SQL Server)的数据操作。
所有演示材料都应在SSRS上处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.