交叉 table 和计算字段

cross table and calculated field

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

我有 3 个表:factRepairs;事实交叉; dimSpares

事实修复:

事实交叉

dimSpares

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

链接到 dimSpares

我想添加一个计算列(或度量,现阶段不确定)来给出一次维修所用备件的成本。

我一直在寻找解决方案,但我没能弄清楚... 如果有人可以通过公式指导我执行此操作,将不胜感激!

谢谢,

您认为多对多是 PowerPivot 中的一个重要问题是正确的!

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

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

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

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