我试图用DAX创建一个度量。我从这样的表格中的数据开始。数据表名为1025。
我要做的是确定每个子行的最大预算金额1,然后合计所有选定子行的最大值。所以对于这个屏幕截图,你看到的应该会产生总共6919个。也就是说,1184+630+0+5105…子行预算金额1的最大值为31-02+子行预算金额1的最大值为31-13+子行预算金额1的最大值为32-00+子行预算金额1的最大值为34-03。
我可以确定每个子行的最大值。我用这种方法做到了:
Budget = CALCULATE(MAXX('1025','1025'[BUDGET_AMOUNT1]),DISTINCT('1025'[SUBLINE_NBR1]))
使用这个度量,并且在表中没有选择记录,我得到5105,这是我所期望的,因为5105是所有子行记录的预算金额1的最大值。如果我选择一个记录,我就得到它的值。例如,如果我选择一个630作为预算金额1的记录,我会得到630作为预算度量结果,这也是预期的,因为630是它的最大预算金额1值。如果我选择两个或多个记录,我将得到预算金额1的最大值。例如,如果我选择一个630和一个1184,我会得到1184。正如所料。到目前为止,一切都很好。
现在,我不返回更大的预算金额1 max值,而是将所选子行的所有max值相加并返回该值。例如,如果选择表的第四行和第七行,我希望从度量值(1184+630)中得到1814。如果我选择表的前七行,我仍然希望从度量中得到1814(仍然是1184+630…亚线最大值_nbr1 31-02+亚线最大值_nbr1 31-13)。但我似乎对上下文有问题?我想。
我试过很多东西,比如下面。(我不会把它们都列出来。)但我还远远没有找到解决办法。
我尝试过:
Budget =
var MaxVal = SUMX('1025',CALCULATE(MAXX('1025','1025'[BUDGET_AMOUNT1]),DISTINCT('1025'[SUBLINE_NBR1])))
但是它添加了每一行…不仅仅是最大值。它返回所有记录的52571,或任何选定记录的所有预算金额1值的总和。
我也试过:
Budget =
var MaxVal = CALCULATE(MAXX('1025','1025'[BUDGET_AMOUNT1]),DISTINCT('1025'[SUBLINE_NBR1]))
return SUMX('1025',MaxVal)
但我不太确定它在做什么。它返回一个过高的数字值(这20条记录为102100)。它似乎正在尝试添加所有选定的值…等等。在穿越亚线nbr1组时没有正确添加。不管怎样,这显然也不是我想要的。
可能有一个简单的解决方案,但是,是的……我不知所措,一定能得到你的帮助!