Power BI中如何匹配Category与Amount列的对应值?
解决Power BI中拆分列后Category与Amount对应匹配的问题
方法一:Power Query界面操作(适合新手)
- 选中订单ID、Category、Amount三列,进入转换选项卡,点击逆透视列→逆透视其他列,生成Attribute(对应Category/Amount)和Value(对应分隔值)两列。
- 选中Value列,点击拆分列,选择按分隔符
|拆分,再选拆分为行。 - 选中Attribute和Value列,点击透视列,将Attribute设为透视依据,Value设为值,聚合方式选不要聚合。如果提示重复值,先给表加个索引列(添加列→索引列),再重复透视步骤。
- 最后删掉多余的索引列,就能得到每个订单ID下Category和Amount一一对应的行。
方法二:M代码直接编辑
要是你能看明白M代码,打开Power Query编辑器的高级编辑器,把现有代码替换成下面的(把原始表换成你的实际表名):
let 源 = 原始表, 添加索引 = Table.AddIndexColumn(源, "索引", 0, 1, Int64.Type), 逆透视 = Table.UnpivotOtherColumns(添加索引, {"订单ID", "索引"}, "属性", "值"), 拆分行 = Table.ExpandListColumn(Table.TransformColumns(逆透视, {{"值", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "值"), 透视 = Table.Pivot(拆分行, List.Distinct(拆分行[属性]), "属性", "值"), 删除索引 = Table.RemoveColumns(透视,{"索引"}) in 删除索引
核心思路是先把Category和Amount转成键值对,拆分后再透视回去,这样同一位置的Category和Amount就会对应上,不会出现全组合的情况。
内容的提问来源于stack exchange,提问作者Sai Teja Bandela
相关产品推荐
相关产品推荐

