powerbi - DAX Power BI 中按组排名前 2 位
问题描述
我想在这里按公司获得前 2 名。表称为“表 (3)”
我希望能够像这样填充列 -
我试过 Column = RANKX(ALLEXCEPT('Table (3)','Table (3)'[Company]),SUM('Table (3)'[Units]))
但得到一个循环错误。
我认为这样做的另一种方法 - 不是很有效 - 是使用 TOPN 并由每家公司做一个 UNION,这样每家公司都会有一个自己的 TOPN 值表。
我知道如何在已经使用 Table.MaxN 的电源查询上执行此操作,但想在 DAX 上执行此操作
解决方案
你可以得到这样的排名:
Rank =
VAR CurrUnits = 'Table (3)'[Units]
RETURN
CALCULATE (
RANK.EQ ( CurrUnits, 'Table (3)'[Units] ),
ALLEXCEPT ( 'Table (3)', 'Table (3)'[Company] )
)
从那里,如果您愿意,您可以丢弃除 1 和 2 以外的等级。
推荐阅读
- android - 共享元素转换在片段中不起作用
- swift - 如何在 swift4 中将 CNPhoneNumber 转换为字符串?
- javascript - 防止在 VueJs 中浏览器 url 中的位置更改
- python - Python 解析器不接受 '-' 作为参数
- javascript - MetaMask - RPC 错误:错误:MetaMask Tx 签名:用户拒绝交易签名
- google-maps - 谷歌地图标记聚类不适用于 infoWindow 和 fitBounds
- hadoop - Hbase 错误“错误:KeeperErrorCode = NoNode for /hbase/master”
- python - CV-Target-Mean-Encode 的 PySpark 动态均值计算
- docker - Docker 服务公开公开,但仅将端口公开给 localhost
- php - Symfony - 只返回一个参数