计算列-使用DAX IN POWERBI提供了多个值表-

时间:2019-06-14 14:00:05

标签: powerbi dax powerbi-desktop

我有两个表,其中的两列中的一些具有相似的数据,但是当两列中的数据匹配并且如果不匹配时,我希望从其中一个表中查找值

表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

2 个答案:

答案 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
    )

两种情况下的输出:

enter image description here