交叉表和计算字段

时间:2015-02-19 10:38:15

标签: many-to-many powerpivot calculated-columns

我刚刚开始使用Powerpivot,我的第一个应用程序提出了一些我认为会遇到的更难的问题......这是我的问题:

我有3张桌子:factRepairs; factCorss; dimSpares

factRepairs:

enter image description here

factCross

enter image description here

dimSpares

enter image description here

factRepairs通过Repair列之间的关系链接到factCross,而factCross通过Spare ID< - > Spare

链接到dimSpares

我想添加一个计算列(或测量,在此阶段不确定),以提供用于一次修复的备件成本。

我一直在寻找解决方案一段时间,但我没有设法解决它... 如果有人可以指导我完成一个公式,我将不胜感激!

谢谢,

1 个答案:

答案 0 :(得分:2)

你认为多对多在PowerPivot中是一个非常重要的问题是正确的!

好消息是,这可能是一个数据结构问题,而不是纯粹的基础多对多情况,可以通过factCross表上的计算列轻松解决。这有点像excel中的SUMIF,不需要关系:

 = CALCULATE(SUM(dimSpares[price]), 
       FILTER(dimSpares, 
              dimSpares[id] = EARLIER([spare id])
              )
             )

然后,您可以编写一个度量/计算字段来汇总成本,如果您在factRepairsfactCross之间建立关系,那么您应该开展业务。

如果你正在寻找一种更复杂的方法来处理这些问题,那么试试the Many to Many revolution但老实说这和DAX一样复杂,所以我会专注于更简单的东西: - )