【发布时间】:2022-02-04 09:51:04
【问题描述】:
我有下表,在 Power BI 中导入 - QOL_Exp(请参见下面的屏幕截图示例)
我需要创建一个计算表,该表将过滤掉Rating = 999 的值,并且, 同时,将根据 ClientID 仅从 Date 列中选择最高和最低的 Date 值(请参阅突出显示的灰色和桃色区域)。
我用红色字体突出显示 - 我希望在我的计算表中看到的值
例如,对于 ClientID = 3052,我需要 Date = 11/20/2020(此 ClientID 的最低日期)和 Date = 5/17/2021(此 ClientID 的最高日期)的记录
对于 ClientID = 2666,我不需要 Rating = 999(条件之一)的记录
我设法过滤掉(排除 Rating = 999),但在新的计算表中只包含最大和最小日期
这是我的 DAX:
QOL = CALCULATETABLE(QOL_Exp, QOL_Exp[Rating]<>999)
我应该如何修改它以便只保留基于 ClientID 的 Max(Date) 和 Min(Date) 记录?
更新: 根据给出的答案,略有更新(见下文):
QOL =
FILTER (QOL_Exp, QOL_Exp[Rating] <> 999
&&
(( QOL_Exp[Date] = CALCULATE (MIN ( QOL_Exp[Date] ),
ALLEXCEPT(QOL_Exp,QOL_Exp[ClientID])))
|| QOL_Exp[Date] = CALCULATE (MAX ( QOL_Exp[Date] ),
ALLEXCEPT(QOL_Exp, QOL_Exp[ClientID]))))
【问题讨论】:
-
啊,是的,比我的努力好多了!
-
实际上,没有:(;它仍然需要在每个计算中使用 999 过滤器,否则它会删除 rating = 999 日期的所有记录
-
是的,第一次没有注意到您没有包含该条款。
-
@JosWoolley 您能否解释一下 - EARLIER () 在您的代码中是什么意思?
标签: filter dax calculated-columns