在超级查询中,我想将第1列与第2列中的特定值合并,但不是全部并匹配team_id。任何想法如何实现这一目标?在DAX中,我可以使用LOOKUPVALUE()做到这一点,但是如何在超级查询中做到这一点?
表2
team_id teamName
1 TeamA
3 TeamB
12 TeamC
表2
team_id teamPlace dateAdded
43 Amsterdam 11/01/2020
50 London 12/01/2020
1 New York 13/01/2020
Table1或TableX
team_id teamName teamPlace
1 TeamA New York
3 TeamB null
12 TeamC null
答案 0 :(得分:1)
假设:
Table2
)已命名为Table.1
Table2
)我已命名为Table.2
,您想获取第三张表(您的标签Table1 or TableX
)
您可以使用以下PQ代码使用左外连接类型进行嵌套连接。
let
Source = Excel.CurrentWorkbook(){[Name="Table.1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"team_id", Int64.Type}, {"teamName", type text}}),
Source2 = Excel.CurrentWorkbook(){[Name="Table.2"]}[Content],
#"Changed Type2" = Table.TransformColumnTypes(Source2,{{"team_id",Int64.Type}, {"teamPlace", type text},{"dateAdded", type date}}),
join = Table.NestedJoin(Source,"team_id", Source2, "team_id","teamPlace"),
#"Expanded newCol" = Table.ExpandTableColumn(join, "teamPlace", {"teamPlace"}, {"teamPlace"})
in
#"Expanded newCol"
从下面的评论中,您似乎对创建合并表不感兴趣,而是将列添加到现有的第一个表中。
为此,您需要做的就是在表中添加一列,并使用VLOOKUP
公式。
使用上面的表命名方案,公式将为:
=IFERROR(VLOOKUP([@[team_id]],Table.2,2,FALSE),"")
输出将与上面相同