我在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不太熟悉。知道如何解决这个问题吗?
答案 0 :(得分:2)
<强>解决方案:强>
使用函数ATTR将非聚合函数(Status)转换为聚合函数。然后就可以将它们组合起来,计算就可以了。
<div> Some Long Long Link Text will come Here </div>
答案 1 :(得分:0)
Tableau会自动将数值解释为度量值。看起来虽然在你的情况下它们是一个布尔值(0表示false,1表示true),实际上应该是维度。
将步骤1,步骤2和步骤3转换为维度。突出显示字段,右键单击,然后选择“转换为维度”。