[英]How to separate table by group in SSRS report?
我正在开发一个项目,该项目需要使用SSRS
从SQL
查询中导出报告。 数据来自查询结果(关于各学校计算机类型的需求)。
学校 | 产品 | 眼镜 | 数量 |
---|---|---|---|
斯坦福 | 桌面 | 规格1 | 1 |
斯坦福 | 桌面 | 规格2 | 2 |
麻省理工学院 | 桌面 | 规格1 | 3 |
佐治亚理工学院 | 桌面 | 规格2 | 4 |
斯坦福 | 笔记本电脑 | 规格3 | 5 |
斯坦福 | 笔记本电脑 | 规格2 | 6 |
麻省理工学院 | 笔记本电脑 | 规格1 | 7 |
佐治亚理工学院 | 笔记本电脑 | 规格3 | 8 |
我们需要的报告:
桌面需求报告
学校 | 规格1 | 规格2 |
---|---|---|
斯坦福 | 1 | 2 |
麻省理工学院 | 3 | 0 |
佐治亚理工学院 | 0 | 4 |
笔记本电脑需求报告
学校 | 规格1 | 规格2 | 规格3 |
---|---|---|---|
斯坦福 | 0 | 6 | 5 |
麻省理工学院 | 7 | 0 | 0 |
佐治亚理工学院 | 0 | 0 | 8 |
目前,我只能创建一个将2 tables
合并为1
的报告,但我需要将它们分开。 这在SSRS
中是否可行,或者SQL
查询是否有其他方式?
谢谢
您可以尝试SQL中的SQL
来有效地实现这一点:
桌面查询:
SELECT school,
COALESCE(spec1,0) AS spec1,
COALESCE(spec2,0) AS spec2
FROM t
PIVOT
(
SUM(Amount)
FOR specs IN([spec1], [spec2])
) as pvt
WHERE product='desktop'
笔记本电脑查询:
SELECT school,
COALESCE(spec1,0) AS spec1,
COALESCE(spec2,0) AS spec2,
COALESCE(spec3,0) AS spec3
FROM t
PIVOT
(
SUM(Amount)
FOR specs IN([spec1], [spec2], [spec3])
) as pvt
WHERE product='laptop'
请参阅db<>fiddle中的 DEMO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.