繁体   English   中英

如何在 SSRS 报告中按组分隔表格?

[英]How to separate table by group in SSRS report?

我正在开发一个项目,该项目需要使用SSRSSQL查询中导出报告。 数据来自查询结果(关于各学校计算机类型的需求)。

学校 产品 眼镜 数量
斯坦福 桌面 规格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

要在 SSRS 中执行此操作,最好的方法(恕我直言)是创建一个采用单个值参数的子报表,在本例中为Product ,并且仅显示该产品的数据。

然后创建一个主报表,调用可用产品的子报表。

这是一个相当简单的过程。

在此演示中,我使用表变量重新创建了您的数据集,并在子报表和主报表中使用了完全相同的数据集。

你会以下。

演示数据集查询子报表的创建和测试主报表的创建,测试数据集,将子报表添加到主报表最终结果。

最终结果将如下所示...

在此处输入图像描述

如果下面的 GIF 运行速度太快,请保存它并在图像编辑器中打开它,以便您逐步浏览它。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM