クロス集計を作成します。ここで、y軸に月があり、x軸に前年と現在の年があります。Cognos RSの年を比較する - 外部結合が機能しない
2011 | 2012
Shop_1 | Jan | 123 | 456
Feb | 789 | 1011
... | ... | ...
Dez | 234 | 454 (for the current year, the future months are either filled with predicted numbers or NULL)
----------------------------------
Shop_2 | Jan | 264 | 23409
... | ... | ...
Dez | 234 | 454
データソースは、リレーショナルあるので、私は毎年のための2つのクエリーアイテムを作成し、SQLにはこのようなものになるだろう。そして、私は3つの接続で、これらの2つのクエリに参加
SELECT
shop, month, numberOfOrders
FROM myFactTable
INNER JOIN Dim_date ...
INNER JOIN Dim_shop ...
WHERE Dim_date.year = 2012
。
- year2012query.Shop
=
year2011query.Shop - year2012query.Month
=
year2011query.Month - year2012query.Year
>
year2011query.Year
との両方に0..Nするカーディナリティを設定します側面はouter join
になります。私は基数と他の可能性を試みたが、何も動作しません。問題は、私は現在の月の4月までしか月を得ることができないということです。したがって、OUTER JOIN
は機能しません。
Framework Managerモデルのカーディナリティが重要な役割を果たしていると私は考えていました。これは、スター・スキーマだとカーディナリティがちょうどレポートのパフォーマンスが許容できなくなるという効果を持っていたし、結果は奇妙です
Dimension Table <--> Fact Table
1..1 0..n
にこれを変更し、常に
Dimension Table <--> Fact Table
1..1 1..n
です:
どう 2011 | 2012
Apr | |
May | |
Jun | |
... | |
Dez | |
----------------------------------
Shop_1 | Jan | 123 | 456
Feb | 789 | 1011
Mar | 123 | 123
Apr | 234 | 454
----------------------------------
Shop_2 | Jan | 264 | 23409
Feb | 7123 | 1011
Mar | 1223 | 123
Apr | 3445 | 454
私は達成することができます、昨年の完全表示されますか?