如何使度量基于行和列上下文查找值?

时间:2015-04-08 07:26:21

标签: excel powerpivot dax ssas-tabular

我需要聚合一些基于Row和Columns上下文的乘法。我最好的描述是伪代码。

For each cell in the Pivot table
    SUM
       Foreach ORU 
              Percent= Look up the multiplier for that ORU associated with the Column
              SUMofValue = Add all of the Values associated with that Column/Row combination
              Multiply Percent * SUMofValue

在过去的几天里,我尝试了很多方法,看了很多例子,但我错过了一些东西。

具体来说,不起作用的是:

 CALCULATE(SUM(ORUBUMGR[Percent]), ORUMAP)*CALCULATE(SUM(Charges[Value]), ORUMAP)

因为您正在对所有百分比求和,而不是仅与MGR相关联的百分比之和(即列上下文)

Link to XLS

Picture of data and what I want the pivot to end up like

data model

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是使用嵌套的SUMX。将此度量添加到ORUBUMGR:

ValuexPercent :=
SUMX (
    ORUBUMGR,
    [PERCENT]
        * (
            SUMX (
                FILTER ( CHARGES, CHARGES[ORU] = ORUBUMGR[ORU] ),
                [Value]
            )
        )
)

对于ORUBUMGR中的每一行,您将乘以百分比...... 费用中每行的价值总和,其中ORUBUMGR ORU与费用ORU相同。然后你总结那个产品。