您好我有两张具有以下结构的表:
RN RO
A X
B Y
C Z
D Y
E Z
F X
G Z
H Y
I Z
J Z
K Y
L Y
和 -
RN Eff Ct RO
A 1 2 X
B 1 2 Y
C 1 2 Z
D 1 2 Y
E 1 2 Z
F 1 2 X
G 1 2 Z
H 1 22 Y
I 1 2 Z
J 1 2 Z
K 1 22 Y
L 1 2 Y
我想基于table1填充table2中的RO而不在它们之间建立任何关系。
我尝试通过建立关系并使用RON = IF('Table2'[RN] = FIRSTNONBLANK(Table1[RN],1), FIRSTNONBLANK(Table1[RO],1),"1")
我需要删除这种关系。 没有建立任何关系,他们是否可以这样做?
答案 0 :(得分:0)
这可能会有所帮助。我使用Power Query(Power BI&#39的查询编辑器)来完成此操作。我从表1开始:
......这就像表2:
然后,在Table2的查询中工作(在查询编辑器屏幕左侧的“查询”窗格中选择了Table2),我执行了以下操作:
我点击了"添加列"选项卡和"自定义列"按钮添加一个列,并在添加自定义列对话框中(见下文)我将新列命名为Table1并输入公式=Table1
以在新列的每个单元格中嵌入Table1的副本:
然后我点击确定以获取此信息:
然后我点击了新列顶部的按钮...这一个...... ...来扩展嵌入式表格。在弹出的对话框中(见下文),我保留了所有默认设置。 (我特别想要"使用原始列名称作为前缀"选择这样就可以清楚哪些RN和RO值来自Table1。)
然后我点击确定以获取此信息:
然后我点击"添加列"添加了另一列。选项卡和"自定义列"按钮再次。我将新列命名为MatchedROs并输入公式=if [RN]=[Table1.RN] then [Table1.RO] else null
(如下所示)。
然后我点击确定以获取此信息:
然后我过滤了MatchedROs列,以便删除所有带null的行。我点击了MatchROs列顶部的过滤器按钮...这一个... ...然后我取消选中旁边的复选框(null)(见下文)。
然后我点击确定以获取此信息:
此时,您可以删除您可能更喜欢删除的列。 (保留Table1.RO或MatchedROs,以便获得Table1中的值。)
这是“高级编辑器”中的最终查询代码:
let
Source = Excel.Workbook(File.Contents("C:\Users\MARC_000\Desktop\Criteria..xlsx"), null, true),
Table2_Table = Source{[Item="Table2",Kind="Table"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Table2_Table,{{"RN", type text}, {"Eff", Int64.Type}, {"Ct", Int64.Type}, {"RO", type text}}),
//The lines above establish Table2 within Power Query, pulling it from the source Excel file and doing initial setup up "stuff".
//The lines that follow are what I did once Table2 was established.
#"Added Custom" = Table.AddColumn(#"Changed Type", "Table1", each Table1),
#"Expanded Table1" = Table.ExpandTableColumn(#"Added Custom", "Table1", {"RN", "RO"}, {"Table1.RN", "Table1.RO"}),
#"Added Custom1" = Table.AddColumn(#"Expanded Table1", "MatchedROs", each if [RN]=[Table1.RN] then [Table1.RO] else null),
#"Filtered Rows" = Table.SelectRows(#"Added Custom1", each ([MatchedROs] <> null))
in
#"Filtered Rows"
答案 1 :(得分:0)
使用LOOKUPVALUE
功能可以轻松完成。在表2中,添加一个包含此公式的新列;没有任何关系。
RO_New = LOOKUPVALUE(Table1[RO], Table1[RN], Table2[RN])