首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >M语言中的Vlookup与和值

M语言中的Vlookup与和值
EN

Stack Overflow用户
提问于 2022-02-14 13:44:32
回答 1查看 327关注 0票数 0

试图在PowerQuery上生成一个Vlookup,这也使多个值的和很受欢迎。我有两个表在我的权力BI,是由报告编号,如下图所示。我需要在表B上创建一个新的列,根据它们的报告号在表A中得到成本之和。

在Power查询中,我使用以下代码在表B上创建了一个新列:

之后,我计划创建一个新的列来总结列表结果,但是我的列表是空的,我不知道为什么。有人能帮我理解我为什么得不到结果吗?

我不能用DAX做这个,它应该在M中

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-14 14:01:35

将列添加到TableB中的一种方法是:

代码语言:javascript
复制
= (i)=>List.Sum(Table.SelectRows(TableA, each [Report Num]=i[Report Num]) [Cost])

另一种方法是将TableA分组并合并到其中。我倾向于认为,对于较大的表,这是一种更快的方法。

代码语言:javascript
复制
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"

当然,如果这是TableB中仅有的两列,您可以一次创建整个表

代码语言:javascript
复制
let Source =  Table.Group(TableA, {"Report Num"}, {{"Cost", each List.Sum([Cost]), type number}})
in Source
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71112870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档