Tableau过滤器公式

时间:2015-01-27 20:35:11

标签: tableau

我正在尝试过滤仅包含BL或CL的工作组名称,因此我使用了公式...

STARTSWITH([wrkgrp_shrt_nm], "BL") or STARTSWITH([wrkgrp_shrt_nm], "CL" )

我得到了小绿色支票,但是当我点击应用时,它是空白的,没有什么可以通过

我尝试了另一个公式...

if right([wrkgrp_shrt_nm],2) = 'BL' then 1 elseif
right([wrkgrp_shrt_nm],2) = 'CL' then 1 elseif
right([wrkgrp_shrt_nm],2) then 0
end

但我只是收到错误

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

为了澄清,你要求“包含BL或CL”,但你的公式指定STARTSWITH,你的字段[wrkgrp_shrt_nm]以字符串“BL”或字符​​串“CL”开头。

如果你想要“包含”,你可以使用FIND:

FIND([wrkgrp_shrt_nm], 'BL' ) > 0 OR FIND([wrkgrp_shrt_nm], 'CL' ) > 0

您不能在条件字段中使用IF,但可以使用内联IF(IIF),但在您的情况下则不需要。

编辑: 我对IF的评论完全错了(因为我在Tableau中仍然是新手),但我在过滤器的条件字段中尝试IF(如OP所说)我不能让它起作用。但是我一直在计算字段中使用IF。我会再试一次......

答案 1 :(得分:0)

如果你想要“包含”,你可以只调用contains()

contains(wrkgrp_shrt_nm, 'BL') or contains(wrkgrp_shrt_nm, 'CL')

与Fred发布的find()解决方案相同,在这种情况下更容易阅读。我不确定弗雷德说你不能使用IF。我一直使用IF没有问题。

BTW,如果您想知道,如果字段名称不包含空格或标点符号,则字段名称周围的方括号是可选的,并且函数名称不区分大小写。