如何在Power BI Matrix中创建无间隙的计划/实际值并列表格
解决Power BI Matrix并列展示计划/实际到达分钟数的问题
步骤1:重塑数据结构(核心操作)
放弃复制追加表格的方式,通过逆透视列统一数据格式,避免聚合冲突:
- 打开Power Query编辑器,选中你的原始数据表
- 选中
scheduled_arrival_minute和fact_arrival_minute两列 - 点击菜单栏「转换 > 逆透视列」,生成
Attribute(值为两类分钟字段名)和Value(对应分钟数值)两列 - 新增自定义列
Type,用公式替换字段名为直观标识:if [Attribute] = "scheduled_arrival_minute" then "Plan" else "Fact" - 删除冗余的
Attribute列,保留Type、scheduled_hour、Value,以及能唯一标识每一行的trip_id(或trip_id+station_id组合)
步骤2:配置Matrix可视化
- 将
scheduled_hour拖至行区域 - 将
Type拖至列区域 - 将
Value拖至值区域,点击值字段下拉菜单,把聚合方式改为「不汇总」 - 把
trip_id(或trip_id+station_id)拖到行区域的scheduled_hour下方,让Power BI识别每行是独立记录,避免自动聚合
步骤3:消除空单元格
因为逆透视后,每个行程的Plan和Fact数据会对应到同一行的不同列,不会出现空值。若仍有空值,检查原始数据是否存在缺失的计划/实际时间,可在Power Query中用「替换值」将空值填充为0或标记为"N/A"
关键说明
不要同时把scheduled_arrival_minute和fact_arrival_minute放入值区域,这会触发Power BI自动聚合。必须将两类数据合并到同一列,用Type区分,才能实现无聚合的并列展示。
内容的提问来源于stack exchange,提问作者Rokas




