Union 和 if with value present in other table Power BI
Union and if with value present in other table Power BI
我有 3 个 table。
第一个是商品table
第二个也是产品table,但第一个也有一些产品。
最后,我有一个销售 table。
我想将两个产品 table 合并为一个新产品,如果一个产品在 'Sales' 中,则添加一个包含客户名称的新列。
这样的结果。
我想在 Power BI 中执行此操作,但找不到在查询编辑器中执行此操作的解决方案。
有什么想法吗?
谢谢。
这里我假设 ID
是跨越 table 的主键。
首先,您可以将两个 Product
table 附加(即合并)为一个:
然后,删除 ID
列中的重复项:
现在,您可以在 ID
列上将查询与 Sales
table 合并(即加入):
仅展开 Sales
table 和 select ClientName
列:
最后,将空值替换为 Unsold
:
(是的,字符串 null
表示 NULL
很奇怪,但它是这样工作的)
最终结果:
完整的M代码供您参考:
let
Source = Table.Combine({Product, Product2}),
#"Removed Duplicates" = Table.Distinct(Source, {"ID"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Duplicates",{"ID"},Sales,{"ID"},"Sales",JoinKind.LeftOuter),
#"Expanded Sales" = Table.ExpandTableColumn(#"Merged Queries", "Sales", {"ClientName"}, {"ClientName"}),
#"Replaced Value" = Table.ReplaceValue(#"Expanded Sales",null,"Unsold",Replacer.ReplaceValue,{"ClientName"})
in
#"Replaced Value"
我有 3 个 table。
第一个是商品table
第二个也是产品table,但第一个也有一些产品。
最后,我有一个销售 table。
我想将两个产品 table 合并为一个新产品,如果一个产品在 'Sales' 中,则添加一个包含客户名称的新列。
这样的结果。
我想在 Power BI 中执行此操作,但找不到在查询编辑器中执行此操作的解决方案。
有什么想法吗?
谢谢。
这里我假设 ID
是跨越 table 的主键。
首先,您可以将两个 Product
table 附加(即合并)为一个:
然后,删除 ID
列中的重复项:
现在,您可以在 ID
列上将查询与 Sales
table 合并(即加入):
仅展开 Sales
table 和 select ClientName
列:
最后,将空值替换为 Unsold
:
(是的,字符串 null
表示 NULL
很奇怪,但它是这样工作的)
最终结果:
完整的M代码供您参考:
let
Source = Table.Combine({Product, Product2}),
#"Removed Duplicates" = Table.Distinct(Source, {"ID"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Duplicates",{"ID"},Sales,{"ID"},"Sales",JoinKind.LeftOuter),
#"Expanded Sales" = Table.ExpandTableColumn(#"Merged Queries", "Sales", {"ClientName"}, {"ClientName"}),
#"Replaced Value" = Table.ReplaceValue(#"Expanded Sales",null,"Unsold",Replacer.ReplaceValue,{"ClientName"})
in
#"Replaced Value"