我正在使用SSRS,我試圖填充報告以顯示按類別分組的月度計數。該報告應具有以列標題形式列出的類別,並將所有月份顯示爲列標題。要求是我需要顯示所有月份和類別,無論數據是否在這些列/行中。我如何編寫SQL查詢以包括所有月份和類別即使沒有記錄存在的所有類別的月度計數
我的問題是構建SQL查詢來做到這一點。
這裏是我的工作表的例子:
交易表:
create table [Transaction] (
ContactID int Primary Key
, CategoryID int
, DateKey int
)
日曆表:
請注意,此表是作爲一個日期維度的設立初衷是爲與SSAS一起使用,但我決定不使用SSAS,因爲立方體開發對我來說已經不堪重負。本表中還有許多其他領域,但這些是關於這個問題的重要領域。
create table [Calendar] (
DateID int Primary Key
, Date datetime
, Year nchar(4)
, Month nvarchar(2)
)
分類表:
create table [Category] (
CategoryID int Primary Key
, CategoryName nvarchar
)
查詢需要返回在SSRS中使用的數據集來填充類似於以下報告:
Category | Jan | Feb | Mar | Apr | May | June | etc...
--------------------------------------------------------------------
Category A | - | - | - | - | - | - | etc...
--------------------------------------------------------------------
Category B | - | - | - | - | - | - | etc...
--------------------------------------------------------------------
Category C | - | - | - | - | - | - | etc...
我知道,它涉及OUTER JOINS,GROUP BY和子查詢的一些組合。我無法圍繞如何實現這一目標。
如果有人能夠幫助我解決這個問題,我會非常高興。
感謝
感謝您的出色答覆!你的我的英雄!雖然我確實看到了爲什麼SSAS和MDX使這些查詢變得更容易,但學習曲線非常陡峭,但我能夠得到這個工作。只是要注意我無法使用「提取」功能。我用Month(日期)代替。我相信提取是MySql代碼?無論如何,它的工作,非常感謝。我也將成爲一名SQL Guru。 –