Tableau混合聚合和非聚合结果错误

时间:2017-10-23 15:40:18

标签: tableau calculated-field

我在Tableau中创建计算字段时遇到问题。我有这样的数据:

ID    ...   Status     Step1    Step2    Step3
1     ...   Accepted   1        1        1
2     ...   Waiting    1        0        0
3     ...   Discard    0        0        0
4     ...   Waiting    1        1        0
...

我想创建一个计算列,它将为我提供最后一步的名称,但仅限于状态为“已接受”时。否则我想要状态。语法很简单,看起来像这样:

IF [Status] = 'Accepted' THEN (
    IF [Step3] = 1 THEN 'Step3' ELSEIF [STEP2] = 1 THEN 'Step2' ELSEIF [STEP1] = '1' THEN 'Step1' ELSE 'Step0') 
ELSE [Status]

问题是“状态”列是维度,“步骤”状态来自度量。所以他们是AGG(Step1),AGG(Step2),...... 我猜这就是我收到此错误的原因:

Cannot mix aggregate and non-aggregate comparisons or results in 'IF' expressions.

我对Tableau不太熟悉。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

<强>解决方案:

使用函数ATTR将非聚合函数(Status)转换为聚合函数。然后就可以将它们组合起来,计算就可以了。

<div> Some Long Long Link Text will come Here </div>

答案 1 :(得分:0)

Tableau会自动将数值解释为度量值。看起来虽然在你的情况下它们是一个布尔值(0表示false,1表示true),实际上应该是维度。

将步骤1,步骤2和步骤3转换为维度。突出显示字段,右键单击,然后选择“转换为维度”。