如何在Power BI中按Type分组对Count列进行条件排名
在Power BI中按Type分组对Count列排名
我在Power BI中有如下表格:
| Name | Count | Type |
|---|---|---|
| A | 1 | 1 |
| B | 2 | 2 |
| C | 1 | 2 |
| D | 2 | 1 |
需要实现仅在Type相同时对Count列的值进行排名:Type=1时生成一组排名,Type=2时生成另一组排名,最终得到如下表格:
| Name | Count | Type | Rank |
|---|---|---|---|
| A | 1 | 1 | 2 |
| B | 2 | 2 | 1 |
| C | 1 | 2 | 2 |
| D | 2 | 1 | 1 |
解决方案:使用DAX创建计算列
你可以通过添加计算列,用RANKX函数指定分组筛选条件来实现需求,步骤如下:
- 在Power BI的数据视图中选中目标表格
- 点击菜单栏的建模 > 新建列
- 输入以下DAX公式(替换
'你的表名'为实际表格名称):
Rank = RANKX( FILTER('你的表名', '你的表名'[Type] = EARLIER('你的表名'[Type])), '你的表名'[Count], , DESC, DENSE )
公式说明:
FILTER('你的表名', '你的表名'[Type] = EARLIER('你的表名'[Type])):筛选出与当前行Type相同的所有行,作为分组排名的范围'你的表名'[Count]:指定用于排名的数值列DESC:设置降序排名(Count值越大排名越靠前,匹配示例结果)DENSE:采用密集排名模式(若有相同Count值,会得到相同排名,后续排名不跳过数字;若需要跳过可替换为SKIP)
添加完成后,表格会自动生成符合要求的Rank列。
内容的提问来源于stack exchange,提问作者n179911a
相关产品推荐
相关产品推荐

