我正在尝试过滤仅包含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
但我只是收到错误
有什么建议吗?
答案 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,如果您想知道,如果字段名称不包含空格或标点符号,则字段名称周围的方括号是可选的,并且函数名称不区分大小写。