Tableau计算字段中的Case语句

时间:2013-10-17 13:05:42

标签: case tableau

我正在尝试获取以下SQL代码中所示的功能:

select ....... , A.authorizedAction
, '1 - Add' = Case when (Cast((authorizedAction / 1) As Int) % 2) = 1 then 'Y' end
, '2 - Update/Display' = case when (Cast((authorizedAction / 2) As Int) % 2) = 1 then 'Y' end
, '4 - Update/Display all' = case when (Cast((authorizedAction / 4) As Int) % 2) = 1 then 'Y' end 
, '8 - Correction' = case when (Cast((authorizedAction / 8) As Int) % 2) = 1 then 'Y' end 
, A.authorizationActionKey   .... from ....

我想将所有4种情况(添加,更新/显示,更新/显示全部和更正)表示为表格中工作表的列值。

我发现'case'语句是tableau中的有效函数,但我不确定我是否可以获得这种功能。基本上我只给了'authorizedAction',我需要为上面的4个案例创建一个计算字段。我能以某种方式将这些案例陈述分组为一个计算字段公式吗?

感谢任何帮助。如果你能为我提供一个有效的计算字段公式,那就不一样了!

1 个答案:

答案 0 :(得分:1)

在上面的SQL语句中,您有一个输入字段,它被分成4个输出字段,每个输出字段可以是“Y”或空白。您可以在Tableau中创建一组类似的4个计算字段,每个字段都有一个公式,沿着

(field name)        (formula)
Add:                if ([authorizedAction] % 2) = 1 then 'Y' else '' end
Update/Display:     if (([authorizedAction] / 2) % 2) = 1 then 'Y' else '' end
Update/Display all: if (([authorizedAction] / 4) % 2) = 1 then 'Y' else '' end
Correction:         if (([authorizedAction] / 8) % 2) = 1 then 'Y' else '' end