M语言中的Vlookup和求和值
Vlookup in M language and sum values
试图在 PowerQuery 上进行 Vlookup,这也使多个值的总和很受欢迎。我的 Power BI 上有 2 个 table 由报告编号连接,如下所示。我需要在 table B 上创建一个新列,根据他们的报告编号获取 Table A 的成本总和。
在 Power Query 中,我使用以下代码在 Table B 上创建了一个新列:
之后,我打算简单地创建一个新列来总结列表结果,但我的列表是 Empty,我不明白为什么。谁能帮我理解为什么我得不到结果?
我不能用 DAX 做这个,它应该在 M
将列添加到表 B 的一种方法是:
= (i)=>List.Sum(Table.SelectRows(TableA, each [Report Num]=i[Report Num]) [Cost])
另一种方法是对 TableA 进行分组并将其合并。我倾向于认为对于更大的 tables
,这是一种更快的方法
let Source = Excel.CurrentWorkbook(){[Name="TableB"]}[Content],
#"Grouped Rows" = Table.Group(TableA, {"Report Num"}, {{"Cost", each List.Sum([Cost]), type number}}),
#"Merged Queries" = Table.NestedJoin(Source, {"Report Num"}, #"Grouped Rows", {"Report Num"}, "Table1", JoinKind.LeftOuter),
#"Expanded Table1" = Table.ExpandTableColumn(#"Merged Queries", "Table1", {"Cost"}, {"Cost"})
in #"Expanded Table1"
当然,如果表 B 中只有这两列,您可以一次性创建整个 table
let Source = Table.Group(TableA, {"Report Num"}, {{"Cost", each List.Sum([Cost]), type number}})
in Source
试图在 PowerQuery 上进行 Vlookup,这也使多个值的总和很受欢迎。我的 Power BI 上有 2 个 table 由报告编号连接,如下所示。我需要在 table B 上创建一个新列,根据他们的报告编号获取 Table A 的成本总和。
在 Power Query 中,我使用以下代码在 Table B 上创建了一个新列:
之后,我打算简单地创建一个新列来总结列表结果,但我的列表是 Empty,我不明白为什么。谁能帮我理解为什么我得不到结果?
我不能用 DAX 做这个,它应该在 M
将列添加到表 B 的一种方法是:
= (i)=>List.Sum(Table.SelectRows(TableA, each [Report Num]=i[Report Num]) [Cost])
另一种方法是对 TableA 进行分组并将其合并。我倾向于认为对于更大的 tables
,这是一种更快的方法let Source = Excel.CurrentWorkbook(){[Name="TableB"]}[Content],
#"Grouped Rows" = Table.Group(TableA, {"Report Num"}, {{"Cost", each List.Sum([Cost]), type number}}),
#"Merged Queries" = Table.NestedJoin(Source, {"Report Num"}, #"Grouped Rows", {"Report Num"}, "Table1", JoinKind.LeftOuter),
#"Expanded Table1" = Table.ExpandTableColumn(#"Merged Queries", "Table1", {"Cost"}, {"Cost"})
in #"Expanded Table1"
当然,如果表 B 中只有这两列,您可以一次性创建整个 table
let Source = Table.Group(TableA, {"Report Num"}, {{"Cost", each List.Sum([Cost]), type number}})
in Source