私は SSRS を使用しており、カテゴリ別にグループ化された月次カウントを表示するレポートを作成しようとしています。レポートには、カテゴリが行ヘッダーとしてリストされ、その年のすべての月が列ヘッダーとして表示されます。要件は、それらの列/行に含まれるデータがあるかどうかに関係なく、すべての月とカテゴリを表示する必要があるということです。
私の問題は、まさにそれを行うための 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、およびサブクエリの組み合わせが含まれていることはわかっています。これを達成する方法について頭を悩ませることはできません。
誰かがこの問題で私を助けてくれたらとてもうれしいです.
ありがとう