如何调整堆叠图排序:通过图表筛选函数实现占比降序排列
堆叠图按类别占比从高到低堆叠的实现方法
核心思路
通过计算每个类别的总数值(或占比)生成排序优先级,再将该优先级绑定到图表的堆叠排序规则中,强制让占比高的类别处于堆叠顶部。
具体步骤(以Tableau为例)
- 计算每个类别的总数值
创建计算字段类别总数值,公式:
{FIXED [类别]: SUM([数值字段])}该字段用于统计每个类别对应的所有数据行的数值总和,以此判断类别占比高低。
- 计算每个类别的总数值
- 生成堆叠排序优先级
创建计算字段堆叠排序优先级,公式:
RANK_UNIQUE([类别总数值], 'desc')用降序排名让占比最高的类别获得排名1,次高为2,以此类推。
- 生成堆叠排序优先级
- 绑定排序规则到图表
在图表的标记卡中右键点击「类别」字段,选择「排序」,切换到「按字段排序」,选择堆叠排序优先级字段,排序方式设为升序,这样排名1的类别就会显示在堆叠最顶部。
- 绑定排序规则到图表
Power BI 实现方式
- 创建类别总数值度量值
类别总数值 = CALCULATE(SUM('数据表格'[数值字段]), ALL('数据表格'[类别]))- 生成堆叠排序计算列
堆叠排序 = RANKX(ALL('数据表格'[类别]), [类别总数值],, DESC, DENSE)- 设置图表排序规则
在可视化面板中选中「类别」字段,点击「排序依据」,选择「堆叠排序」字段,排序方向设为升序即可。
- 设置图表排序规则
注意事项
如果之前调整数据顺序无效,是因为多数可视化工具默认按类别名称或数据加载顺序堆叠,而非数值占比,必须通过基于数值的排序字段来强制调整堆叠层级。
内容的提问来源于stack exchange,提问作者Ash
相关产品推荐
相关产品推荐

