Tableau-根据不同列中的条件匹配值的计算字段

时间:2019-08-07 15:39:29

标签: tableau tableau-server tableau-online tableau-public

我正在尝试根据三个条件创建一个计算字段。

我有两个列名“源系统名称”,它们只有两个值302和202,其他列名“唯一ID”具有不同的数值。

我想创建一个计算字段,该字段将显示数据,如“计算字段显示”列中所示。我需要一些帮助来为此编写逻辑。我以前在tableau中没有做过类似的事情。有人可以帮我吗。我大约有50万行,因此需要适用于这种数据量的逻辑。

请参阅附件图像,以清晰了解iam的工作。

仅202记录-当源系统为302的行中不存在唯一ID时(例如第1,3和4行)

仅记录302-当源系统为202的行中不存在唯一ID时(例如第9,11和12行)

302和202中都存在-当源系统名称302和202的唯一ID相同时(2和10、5和8以及6和7)

请帮助我使用此逻辑创建一个计算字段。

我尝试了CASE和IF函数,但是我做不到。

为便于理解,请参考所附图片的第4列enter image description here

1 个答案:

答案 0 :(得分:0)

如果“源系统名称”只有2个值,则可以创建以下计算以执行所需的操作(假设所有字段都是字符串,如果它们是整数,则仍然可以进行一些简单的更改):

Max:源系统名称

{FIXED [Unique ID]: MAX([Source System Names])}

Min:源系统名称

{FIXED [Unique ID]: MIN([Source System Names])}

计算字段显示

IF [Min: Source System Name] != [Max: Source System Name]
    THEN 'Exists in Both 302 and 202'
ELSEIF [Max: Source System Name] = '202'
    THEN 'Exists in 202'
ELSEIF [Max: Source System Name] = '302'
    THEN 'Exists in 302'
ELSE
    NULL
END

希望有帮助!