Tableau 混合聚合和非聚合结果错误
Tableau mixing aggregate and non-aggregate results error
我在 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
...
我想创建一个计算列,它将为我提供最后一步的名称,但前提是状态为 'Accepted'。否则我想要状态。语法很简单,看起来像这样:
IF [Status] = 'Accepted' THEN (
IF [Step3] = 1 THEN 'Step3' ELSEIF [STEP2] = 1 THEN 'Step2' ELSEIF [STEP1] = '1' THEN 'Step1' ELSE 'Step0')
ELSE [Status]
问题是列 'Status' 是维度,而 'Step' 状态来自度量。所以他们是 AGG(Step1), AGG(Step2),...
我想这就是我收到此错误的原因:
Cannot mix aggregate and non-aggregate comparisons or results in 'IF' expressions.
我对Tableau不是很熟悉。知道我该如何解决这个问题吗?
Tableau 自动将数值解释为度量。尽管在您的情况下它们似乎是布尔值(0 表示假,1 表示真)并且实际上应该是维度。
将第 1 步、第 2 步和第 3 步转换为维度。突出显示字段,单击鼠标右键,然后选择“转换为维度”。
解法:
只需使用函数 ATTR 即可将非聚合函数(状态)变为聚合函数。然后可以将它们组合起来,计算就可以了。
IF ATTR([Status]) = 'Accepted' THEN (
IF [Step3] = 1 THEN 'Step3' ELSEIF [STEP2] = 1 THEN 'Step2' ELSEIF [STEP1] = '1' THEN 'Step1' ELSE 'Step0')
ELSE ATTR([Status])
我在 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
...
我想创建一个计算列,它将为我提供最后一步的名称,但前提是状态为 'Accepted'。否则我想要状态。语法很简单,看起来像这样:
IF [Status] = 'Accepted' THEN (
IF [Step3] = 1 THEN 'Step3' ELSEIF [STEP2] = 1 THEN 'Step2' ELSEIF [STEP1] = '1' THEN 'Step1' ELSE 'Step0')
ELSE [Status]
问题是列 'Status' 是维度,而 'Step' 状态来自度量。所以他们是 AGG(Step1), AGG(Step2),... 我想这就是我收到此错误的原因:
Cannot mix aggregate and non-aggregate comparisons or results in 'IF' expressions.
我对Tableau不是很熟悉。知道我该如何解决这个问题吗?
Tableau 自动将数值解释为度量。尽管在您的情况下它们似乎是布尔值(0 表示假,1 表示真)并且实际上应该是维度。
将第 1 步、第 2 步和第 3 步转换为维度。突出显示字段,单击鼠标右键,然后选择“转换为维度”。
解法:
只需使用函数 ATTR 即可将非聚合函数(状态)变为聚合函数。然后可以将它们组合起来,计算就可以了。
IF ATTR([Status]) = 'Accepted' THEN (
IF [Step3] = 1 THEN 'Step3' ELSEIF [STEP2] = 1 THEN 'Step2' ELSEIF [STEP1] = '1' THEN 'Step1' ELSE 'Step0')
ELSE ATTR([Status])