POWER BI:我希望 DAX 公式在我的主表中找出组的第一个最高值和第二个最高值

问题描述

下面是我的两个表,我希望通过 DAX 从我的主表中获得第一个和第二个最高的金额,这样我就可以获得具有两个不同列的 Desired 表,一个是悉尼和布里斯班的第一个最高,另一个是第二个最高的同一城市

Main Table

Desired table

解决方法

Table 2 =
VAR _1 =
    ADDCOLUMNS (
        _t,"rank",RANKX ( ALLEXCEPT ( _t,_t[City] ),CALCULATE ( MAX ( _t[val] ) ),DESC )
    )
VAR _2 =
    SELECTCOLUMNS (
        FILTER ( _1,[rank] = 1 ),"City",[City] & "","firstHighest",[val] + 0
    )
VAR _3 =
    SELECTCOLUMNS (
        FILTER ( _1,[rank] = 2 ),"secondHighest",[val] + 0
    )
VAR _4 =
    NATURALLEFTOUTERJOIN ( _2,_3 )
RETURN
    _4

Source

Solution