[英]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.