我有两个表,其中的两列中的一些具有相似的数据,但是当两列中的数据匹配并且如果不匹配时,我希望从其中一个表中查找值
表A
Company_Code | Invoice_No | Buyer_Code| Diaspora_Buyer_Code
A|1|001
A|6|002
B|2|003
C|3|001
D|5|006
表B
Company_Code | Invoice_No|Diaspora_Buyer_Code
A|1|11
A|6|12
B|2|11
预期结果
表A在Diaspora_Buyer_Code(计算列)中应具有以下值
表A
Company_Code | Invoice_No | Buyer_Code| Diaspora_Buyer_Code
A|1|001|11
A|6|002|12
B|2|003|11
C|3|001|001
D|5|006|006
答案 0 :(得分:1)
尝试一下
Diaspora_Buyer_Code =
IF(ISBLANK(CALCULATE(FIRSTNONBLANK('Table B'[Diaspora_Buyer_Code],'Table B'[Diaspora_Buyer_Code]),
FILTER('Table B','Table A'[ Invoice_No ]='Table B'[ Invoice_No]),
FILTER('Table B', 'Table B'[Company_Code ]='Table A'[Company_Code ]))),
VALUE('Table A'[ Buyer_Code]),
CALCULATE(FIRSTNONBLANK('Table B'[Diaspora_Buyer_Code],'Table B'[Diaspora_Buyer_Code]),
FILTER('Table B','Table A'[ Invoice_No ]='Table B'[ Invoice_No]),
FILTER('Table B', 'Table B'[Company_Code ]='Table A'[Company_Code ])))
答案 1 :(得分:0)
在两个表中添加计算列:
表A
KeyColumn = 'Table A'[Company_Code]&"-"& 'Table A'[Invoice_No]
表B
KeyColumn = 'Table B'[Company_Code]&"-"& 'Table B'[Invoice_No]
方法1
在两个关键列之间创建一个关系。现在,预期计算列的公式如下:
Diaspora_Buyer_Code =
VAR RelatedVal =
RELATED('Table B'[Diaspora_Buyer_Code])
RETURN
IF (
ISBLANK(RelatedVal),
'Table A'[Buyer_Code],
RelatedVal
)
如果您不想创建关系,请对该列使用以下公式:
Diaspora_Buyer_Code =
VAR Lookup =
LOOKUPVALUE(
'Table B'[Diaspora_Buyer_Code],
'Table B'[KeyColumn],
'Table A'[KeyColumn]
)
RETURN
IF (
ISBLANK(Lookup),
'Table A'[Buyer_Code],
Lookup
)
两种情况下的输出: