如何从DAX中满足两个或多个IF条件的列中找到最大值

How to find the maximum value from a column satisfying two or more IF conditions in DAX

我是 Power BI 和 DAX 的新手。

我附上了一个数据集。我需要找到每个人每周的最大值。我把公式写在Excel.

=MAX(IF(A:A=A2,IF(D:D=D2,IF(B:B=1,C:C))))

如何将其转换为 DAX 或在 Power BI 中编写相同的公式?我尝试了如下的 DAX 代码,但它不起作用(ALLEXCEPT 函数需要 table)。

Weekly Maximum = 
CALCULATE ( MAX ( PT[Value] ), ALLEXCEPT ( PT, PT[person], PT[Week], 
PT[category] ==1 ) )

计算完后,我需要计算每周的预期值,即前一周的最大值 * 2.85,如屏幕截图所示。我怎样才能把前一周的最大值放到本周?

有corrections/solutions吗? TIA

类别 1 的最大值可以这样写:

= CALCULATE(MAX(PT[Value]),
            ALLEXCEPT(PT, PT[Person], PT[Week]),
            PT[Category] = 1)

Category 过滤器没有进入 ALLEXCEPT()。)

对于您的“期望值”列,您可以执行类似的操作:

= CALCULATE(2.85 * MAX(PT[Value]),
            ALLEXCEPT(PT, PT[Person]),
            PT[Category] = 1,
            PT[Week] = EARLIER(PT[Week]) - 1)

EARLIER 函数为您提供所在行的值。名称指的是较早的行上下文。)