[英]Get Sql Server Reporting Services report description in code
[英]How to bulid a report with a total and breakout columns with SQL Server and Reporting Services
我有一个数据结构,我有两个表Alpha和Beta,它们是一对多。 为了举个例子,我们假设表格alpha有一个“State”列,而表B有“你喜欢的颜色”,你可以选择多个。 我想构建一个包含这样的列的报告:
STATE TOTAL RED GREEN BLUE
Alaska 5 1 3 1
Florida 2 2 2 0
New York 10 5 8 1
列TOTAL将是Alpha中记录的计数,正如您所看到的,由于一对多关系,颜色的总和可能超过计数。 我想如果人们不喜欢颜色,它可能会更少。
你会如何建立这样的报告。 我将在.NET中使用SQL Server和Reporting Services,因此它可以是一个复杂的查询,我只是将其转储到数据表报告中,或者是一个不太复杂的查询,其中包含一些计数和总计完成的报告。 我真的不知道解决这个问题的最佳方法。
由于您不知道哪些颜色将成为列,因此您应使用Matrix Control
您需要设置查询
SELECT
a.State,
b.ColorName,
COUNT(b.ColorID) ColorCount
FROM
alpha a
LEFT JOIN beta b
ON a.id = b.a_id
GROUP BY
a.State,
b.ColorName
只需拖动行的状态,列的颜色和数据的Count(ColorID)
( Count(ColorID)
将显示在数据字段中))
注意:如果要正确显示0
值,则需要LEFT JOIN
和Count(ColorID)而不是Count(*)。
如果您确实知道颜色,可以使用PIVOT
或总和案例技术
SELECT state SUM(CASE WHEN Color = 'RED' THEN 1 ELSE 0 END) as Red, ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.