我有一个关于如何在Powerpivot中处理多个many2many关系的问题。这是我的场景:我有一堆产品,每个产品被分配到至少一个但可能更多的类别,所以例如我的第一个表是
Products | Category
P1 | C1
P1 | C2
P2 | C1
接下来,我有一张每个产品和季节(时间)收入的表格
Product | Season | Revenue
P1 | 201606 | 10
P1 | 201607 | 20
P2 | 201606 | 15
P2 | 201607 | 25
我想要的是创建一个度量,以便我的收入可以按时间和类别划分(因此我会创建具有时间和类别层次结构的其他表)。完全展开后,我的最终结果应该是
Cat / Season | 06 | 07 | 2016
C | 25 | 45 | 70
1 | 25 | 45 | 70
2 | 10 | 15 | 25
例如,当我没有时间维度时,我找到了解决方案 http://www.powerpivotpro.com/2012/11/a-mystifying-and-awesome-solution-for-many-2-many和http://sqlblog.com/blogs/marco_russo/archive/2009/12/07/many-to-many-relationships-in-powerpivot.aspx,但由于时间维度,我无法生成预期的解决方案。有人可以开导我吗?
答案 0 :(得分:0)
正如您在问题中添加的帖子中所看到的,有必要创建辅助表来建模M-to-M关系。
创建一个名为DistinctProduct
的表,其中一列名为Product
,其中包含不同的产品。
在“收入”表中,创建两个名为Month
和Year
的列。还要创建一个名为TotalRevenue
的度量。
Month = RIGHT(RevenueTable[Season],2)
Year = LEFT(RevenueTable[Season],4)
TotalRevenue = SUM(Revenue[Revenue])
然后将这些表关联起来,如E-R图所示:
完成此模型后,您可以使用数据透视表,将Month
列添加到数据透视表列,将Category
添加到行,它将生成一个类似于此的表。
如果有帮助,请告诉我。