Power BI DAX实现仅显示表格中度量值的最大值行
解决Power BI中仅显示每年销售额最高月份的DAX方案
问题根源
你现有的Max sales month度量值逻辑偏了——它只是在当前筛选的月份范围内取销售额最大值,没有按年份分组去计算该年所有月份里的最高销售额,自然没法精准定位到每年的销冠月。
正确的Measure 3公式
Measure 3 = VAR 当前月销售额 = [Sales Amount] VAR 当年最高月销售额 = CALCULATE( [Sales Amount], TOPN(1, ALL('Date'[Month]), [Sales Amount], DESC), ALLEXCEPT('Date', 'Date'[Year]) ) RETURN IF(当前月销售额 = 当年最高月销售额, 当前月销售额, BLANK())
公式逻辑拆解(适合自学DAX理解)
VAR 当前月销售额:先把当前行(也就是当前月份)的销售额存成变量,方便后续调用VAR 当年最高月销售额:ALLEXCEPT('Date', 'Date'[Year]):清除日期表中除了年份以外的所有筛选条件,保证我们计算的是一整年所有月份的销售额TOPN(1, ALL('Date'[Month]), [Sales Amount], DESC):在当前年份的所有月份里,挑出销售额最高的那个月的销售额数值
RETURN部分:对比当前月销售额和当年最高值,要是相等就显示销售额,不相等就返回空值(BLANK()),这样非销冠月就不会显示数据了
额外提示
如果遇到某一年有多个月份销售额并列最高的情况,这个公式会把所有并列的月份都显示出来。要是你只想留其中一个,可以在TOPN里加个排序依据(比如再加个按月份升序/降序),或者额外加判断条件筛选月份。
内容的提问来源于stack exchange,提问作者Arunabh Mahajan
相关产品推荐
相关产品推荐

