如何在Power BI矩阵/表格视觉对象中对比年度周值并高亮较大值
实现Power BI年度周度病例数对比及高亮
步骤1:添加计算列到数据表
先在你的数据表中添加以下计算列,用于提取周信息和匹配去年同期:
- 年度:
年度 = YEAR('你的表名'[日期列]) - 周数:
周数 = WEEKNUM('你的表名'[日期列], 2)-- 参数2表示周一为一周起始,可根据需求调整 - 去年同期日期:
去年同期日期 = DATE(YEAR('你的表名'[日期列])-1, MONTH('你的表名'[日期列]), DAY('你的表名'[日期列]))
步骤2:创建核心度量值
在数据模型中创建以下度量值:
- 本年度病例数:
本年度病例数 = VAR CurrentYear = YEAR(TODAY()) RETURN CALCULATE( SUM('你的表名'[病例数]), '你的表名'[年度] = CurrentYear, '你的表名'[日期列] <= TODAY() )
- 去年同期病例数:
去年同期病例数 = VAR CurrentYear = YEAR(TODAY()) RETURN CALCULATE( SUM('你的表名'[病例数]), '你的表名'[年度] = CurrentYear - 1, '你的表名'[周数] = SELECTEDVALUE('你的表名'[周数]) )
- 高亮判断度量值:
需高亮 = VAR CurrentVal = [本年度病例数] VAR LastYearVal = [去年同期病例数] RETURN IF( NOT(ISBLANK(CurrentVal)) && NOT(ISBLANK(LastYearVal)) && CurrentVal > LastYearVal, 1, 0 )
步骤3:构建矩阵/表格视觉对象
- 拖入周数到行区域
- 拖入本年度病例数和去年同期病例数到值区域
- (可选)如果需要按月份分组,可拖入月份到行区域,放在周数上方
步骤4:设置条件格式高亮
- 点击本年度病例数字段的值区域,选择「条件格式」>「字体颜色」或「单元格颜色」
- 在格式规则中选择「基于字段值」,选择我们创建的
需高亮度量值 - 设置规则:当值为1时,设置你需要的高亮颜色(比如红色),否则保持默认
步骤5:过滤到当前日期前的周
- 添加页面级筛选,设置
日期列 <= TODAY(),确保只显示到当前日期为止的周数据
注意事项
- WEEKNUM的参数要根据你的周起始需求调整,比如参数1是周日起始
- 如果周数存在跨年问题(比如12月底的周属于下一年第一周),可以考虑使用
ISOWeekNum函数来获取ISO标准周数,避免匹配错误 - 若数据表中存在同一周多条记录,SUM函数会自动汇总,若需要平均值可替换为AVERAGE
内容的提问来源于stack exchange,提问作者Shivam Sarin
相关产品推荐
相关产品推荐

