繁体   English   中英

Powerpivot 从 table2 的数据范围中检索基数值以作为列添加到 table1

[英]Powerpivot retrieve cardinal value from data range of table2 to add as column to table1

使用 Excel 365 Powerquery。

我有两个数据源table1table2 ,其中包含以下条目:

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 的范围 table2.inclminval <= table1.salary < table2.exclmaxval 和
  • 使用 table2.class 的匹配对应条目作为 table1 中的新计算列。

在 table2 上,添加列...自定义列...列名自定义和公式=1

一张表1,添加列...自定义列...列名自定义,公式=1

家..合并查询...

使用 Full Outer join 选择并匹配两个表中的自定义

在此处输入图像描述

使用新列顶部的箭头 [x] 展开inclminvalexclmaxcalclass显示

在此处输入图像描述

添加列...使用类似于公式的自定义列

= 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM