求DAX公式:按客户最新访谈(最大ID)汇总PONTOS总和
DAX问题解决方案:按客户最新访谈分数求和
你的问题出在汇总时未按客户维度独立计算最大访谈ID——当前公式会取整个数据集的最大ID,仅返回该ID对应的90分,而非所有客户最新分数的总和。
以下是两种正确的DAX度量值写法,替换其中的你的表名为实际表名,列名对应调整即可:
写法一:基于ALLEXCEPT过滤客户维度
总最新分数 = SUMX( VALUES(你的表名[MATRICULA]), // 遍历每个唯一客户 CALCULATE( SELECTEDVALUE(你的表名[PONTOS]), // 获取该客户最新访谈的分数 FILTER( ALL(你的表名), 你的表名[MATRICULA] = EARLIER(你的表名[MATRICULA]) && 你的表名[ID] = CALCULATE(MAX(你的表名[ID]), ALLEXCEPT(你的表名, 你的表名[MATRICULA])) ) ) )
写法二:用TOPN直接取最新记录
总最新分数 = SUMX( VALUES(你的表名[MATRICULA]), CALCULATE( SELECTEDVALUE(你的表名[PONTOS]), TOPN(1, ALL(你的表名[ID], 你的表名[PONTOS]), 你的表名[ID], DESC) ) )
原理说明
两个公式核心逻辑一致:先遍历每个唯一客户,再针对单个客户筛选出其最大ID对应的分数,最后将所有客户的最新分数累加,即可得到预期的335。
内容的提问来源于stack exchange,提问作者luiz guilherme doelinger
相关产品推荐
相关产品推荐

