Power BI折线图:如何动态设置图例颜色以固定最新月份配色?
实现Power BI折线图固定配色+真实月份图例的方法
步骤1:添加相对月份排名计算列
在日期表中新建计算列,标记每个月份的相对新旧程度(最新月为1,上月为2,以此类推):
相对月份排名 = RANKX(ALL('日期表'[月份]), '日期表'[月份], , DESC, DENSE)
注:'日期表'[月份]需为格式统一的月份字段(如“2024年11月”),确保能正确排序。
步骤2:创建用于图例的映射列
再新建一个计算列,将排名标识与真实月份名结合,用于后续绑定固定颜色:
图例映射月份 = "[" & '日期表'[相对月份排名] & "]" & '日期表'[月份]
生成内容类似[1]2024年11月、[2]2024年10月,既包含排名信息(用于固定颜色),又保留真实月份名。
步骤3:配置折线图并固定颜色
- 将折线图的图例字段替换为刚创建的
图例映射月份 - 进入折线图的「格式」面板,找到「数据颜色」选项:
- 给所有以
[1]开头的条目设置黄色(最新月固定色) - 给
[2]开头的设置深蓝色(上月固定色) [3]开头设浅蓝色,[4]开头设红色
- 给所有以
- 添加视觉对象筛选器,筛选
相对月份排名 <=4,仅显示过去4个月的数据。
步骤4:让图例只显示真实月份名
- 右键点击折线图的图例,选择「格式化图例」
- 在「标签」下拉菜单中选择「自定义」,输入DAX表达式提取真实月份名:
RIGHT('日期表'[图例映射月份], LEN('日期表'[图例映射月份]) - 3)
注:若排名标识格式不同(如{1}),调整表达式中的字符数即可,目的是去掉前面的排名标记部分。
新增月份数据后,最新月份会自动被标记为[1]并应用黄色,旧月份依次顺延配色,同时图例显示真实月份名称,完全满足需求。
内容的提问来源于stack exchange,提问作者Yashar
相关产品推荐
相关产品推荐

