使用当前行的值将DAX过滤到另一个表

时间:2017-10-09 16:09:39

标签: excel powerpivot dax

我有三个表,一个是标准日期表和两个子表,一个预算和一个预测。我正在使用电力支点,并希望在顶部有一个年/月的列表,并且多个品牌在行中显示预测和预算显示在网格中。当我在预测表上创建度量以对预算求和时,它会正确地汇总到月份,但是当我查看数据透视表时,我得到所有品牌的总和值,而不是过滤到当前行的品牌:

    2017    
    October 
Row Labels  forecast    Budget
Brand A $950,000.15         ($3,884,649.00)
Brand B $3,500,000.00       ($3,884,649.00)
Brand C $1,650,000.00       ($3,884,649.00)
Brand D $980,000.00         ($3,884,649.00)
Brand E $100,000.00         ($3,884,649.00)
Brand F $183,465.00         ($3,884,649.00)
Grand Total $7,363,465.15   ($3,884,649.00)

我的DAX公式如下:

Budget:=CALCULATE(Sum(Budget[SummedAmount]), values(Budget[Brand Code])= ForecastEntries[Brand Code])

如何才能在当前品牌的品牌代码上获得~3,884,649总结?

1 个答案:

答案 0 :(得分:1)

实现所需内容的最简单方法是向模型添加维度表Brands,其中每个品牌包含一行,然后将BudgetForecast表与之关联在[Brand Code]

难以做到的是设置这样的度量:

Budget:=CALCULATE(
            SUM(Budget[SummedAmount]), 
            FILTER(
                Budget, 
                Budget[Brand Code] = 
                    IF(HASONEVALUE(Forecast[Brand Code]), 
                       VALUES(Forecast[Brand Code]), 
                       Budget[Brand Code])
            )
         )

由于存在更多维度,第二种方法很快变得混乱。