1
我想创建一个交叉表,其中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
的数据源是关系型的,所以我创建了每年两个查询项目,在SQL它会是这样的:
SELECT
shop, month, numberOfOrders
FROM myFactTable
INNER JOIN Dim_date ...
INNER JOIN Dim_shop ...
WHERE Dim_date.year = 2012
然后我加入这2个查询3个连接。
- 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 1..n
改变这
Dimension Table <--> Fact Table
1..1 0..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
如何我可以实现吗?去年全部显示?