如何在Power Query(Power BI)中按条件汇总填充列
在Power BI的Power Query中按日期和Plant名称汇总数据
操作步骤:
步骤1:逆透视非日期列
选中Date列,右键选择逆透视其他列,此时表格会新增Attribute(如Plant_1、Quantity_1)和Value两列。步骤2:拆分Attribute列
选中Attribute列,点击顶部菜单栏的拆分列→按分隔符,选择下划线_作为拆分标记,拆分后得到两列,分别重命名为Type(值为Plant或Quantity)和Index(值为1、2、3)。步骤3:匹配Plant与对应Quantity
选中Date和Index列,点击透视列,设置透视列为Type,值列为Value,聚合函数选不要聚合。此时表格会生成Plant和Quantity列,每一行对应一组日期+序号的Plant和数量。步骤4:按日期和Plant汇总求和
选中Date和Plant列,点击分组依据,分组列选Date和Plant,新列名设为TotalQuantity,操作选求和,目标列选Quantity。步骤5:转成最终宽表格式
选中Date列,再次点击透视列,设置透视列为Plant,值列为TotalQuantity,聚合函数选求和,就能得到按日期汇总各Plant总数量的表格。
对应Power Query M代码示例
let 源 = 替换为你的数据源, 逆透视非日期列 = Table.UnpivotOtherColumns(源, {"Date"}, "Attribute", "Value"), 拆分Attribute列 = Table.SplitColumn(逆透视非日期列, "Attribute", Splitter.SplitTextByDelimiter("_"), {"Type", "Index"}), 匹配Plant与Quantity = Table.Pivot(拆分Attribute列, List.Distinct(拆分Attribute列[Type]), "Type", "Value"), 分组求和 = Table.Group(匹配Plant与Quantity, {"Date", "Plant"}, {{"TotalQuantity", each List.Sum([Quantity]), type number}}), 生成最终宽表 = Table.Pivot(分组求和, List.Distinct(分组求和[Plant]), "Plant", "TotalQuantity", List.Sum) in 生成最终宽表
内容的提问来源于stack exchange,提问作者KwanYee Tan
相关产品推荐
相关产品推荐

