![](/img/trans.png)
[英]Relate Table1 to table2 and show a field from table2 on table1
[英]Powerpivot retrieve cardinal value from data range of table2 to add as column to table1
使用 Excel 365 Powerquery。
我有两个数据源table1
和table2
,其中包含以下条目:
table1:
ID | salary
===========
1 | 10
2 | 1000
table2:
ID | inclminval | exclmaxval | class | display
20 | 0 | 100 | P1 | Poor man
30 | 100 | 9999 | P9 | Wealthy
我想 append 到 table1:对于每个条目 table1.salary,
在 table2 上,添加列...自定义列...列名自定义和公式=1
一张表1,添加列...自定义列...列名自定义,公式=1
家..合并查询...
使用 Full Outer join 选择并匹配两个表中的自定义列
使用新列顶部的箭头 [x] 展开inclminval 、 exclmaxcal 、 class和显示列
添加列...使用类似于公式的自定义列
= if [salary]>=[inclminval] and [salary]<[exclmaxcal] then "keep" else "remove"
使用新列顶部的箭头过滤 [x] keep
删除多余的列
表 1 的示例代码
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Custom", each 1),
#"Merged Queries" = Table.NestedJoin(#"Added Custom",{"Custom"},Table2,{"Custom"},"Table2",JoinKind.FullOuter),
#"Expanded Table2" = Table.ExpandTableColumn(#"Merged Queries", "Table2", {"inclminval", "exclmaxcal", "class", "display"}, {"inclminval", "exclmaxcal", "class", "display"}),
#"Added Custom1" = Table.AddColumn(#"Expanded Table2", "Custom.1", each if [salary]>=[inclminval] and [salary]<[exclmaxcal] then "keep" else "remove"),
#"Filtered Rows" = Table.SelectRows(#"Added Custom1", each ([Custom.1] = "keep")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom", "inclminval", "exclmaxcal", "display", "Custom.1"})
in #"Removed Columns"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.