Tableau 中的组计算
Group calculation in Tableau
我有一些数据,我想在其中创建一个查询,该查询将根据 tableau 中的组 ID 执行 2 个单独的计算
这是我的数据
id total avail
A 10 5
A 40 20
B 20 10
B 10 5
B 10 5
A 20 10
A 20 10
B 10 5
B 10 5
我希望将所有 'A' 个 ID 分组并求和(Group1)
我希望将所有 'B' id 分组并平均它们。 (第 2 组)
这就是我正在做的事情:
第一组ID:
IF [Id] = 'A' THEN 'Group1'
ELSEIF [Id] = 'B' THEN 'Group2'
ELSE 'none'
END
现在进行计算:
IF ATTR([group]) = 'Group1' THEN SUM('A') ELSEIF
ATTR([group]) = 'Group2' THEN SUM(['B'])/SUM(['B']) ELSE 0
END
然而,这是不正确的。我还在研究这个。
任何建议表示赞赏。
此处的一个建议 - 在 Tableau 中创建组(通过右键单击字段而不是通过计算来创建组)。
我是根据之前的采样数据给出的解决方案
使用的数据样本-
+--------------+-----+-----------+--------+------+
| total_backup | sku | available | date | used |
+--------------+-----+-----------+--------+------+
| 10 | A | 5 | Sep-19 | 5 |
+--------------+-----+-----------+--------+------+
| 20 | B | 5 | Sep-19 | 15 |
+--------------+-----+-----------+--------+------+
| 30 | B | 10 | Sep-19 | 20 |
+--------------+-----+-----------+--------+------+
| 10 | C | 5 | Sep-19 | 5 |
+--------------+-----+-----------+--------+------+
| 10 | C | 5 | Sep-19 | 5 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 1 | Sep-19 | 9 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 1 | Sep-19 | 9 |
+--------------+-----+-----------+--------+------+
| 20 | Y | 10 | Sep-19 | 10 |
+--------------+-----+-----------+--------+------+
| 30 | Y | 10 | Sep-19 | 20 |
+--------------+-----+-----------+--------+------+
| 40 | X | 10 | Sep-19 | 30 |
+--------------+-----+-----------+--------+------+
| 40 | A | 15 | Sep-20 | 25 |
+--------------+-----+-----------+--------+------+
| 20 | A | 10 | Sep-20 | 10 |
+--------------+-----+-----------+--------+------+
| 10 | B | 5 | Sep-20 | 5 |
+--------------+-----+-----------+--------+------+
| 40 | C | 15 | Sep-20 | 25 |
+--------------+-----+-----------+--------+------+
| 50 | C | 15 | Sep-20 | 35 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 5 | Sep-20 | 5 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 2 | Sep-20 | 8 |
+--------------+-----+-----------+--------+------+
| 20 | Y | 5 | Sep-20 | 15 |
+--------------+-----+-----------+--------+------+
| 10 | X | 2 | Sep-20 | 8 |
+--------------+-----+-----------+--------+------+
创建一个新的计算字段 desired new val
作为
zn(sum(if [Sku (group)]= 'sum group' then [val] end))
+
zn(avg(if [Sku (group)] = 'avg group' then [val] end))
最后一步构建您的视图
P.S。要添加工具提示,您无需保留 'total' 列。反正可以加。
我有一些数据,我想在其中创建一个查询,该查询将根据 tableau 中的组 ID 执行 2 个单独的计算
这是我的数据
id total avail
A 10 5
A 40 20
B 20 10
B 10 5
B 10 5
A 20 10
A 20 10
B 10 5
B 10 5
我希望将所有 'A' 个 ID 分组并求和(Group1) 我希望将所有 'B' id 分组并平均它们。 (第 2 组)
这就是我正在做的事情:
第一组ID:
IF [Id] = 'A' THEN 'Group1'
ELSEIF [Id] = 'B' THEN 'Group2'
ELSE 'none'
END
现在进行计算:
IF ATTR([group]) = 'Group1' THEN SUM('A') ELSEIF
ATTR([group]) = 'Group2' THEN SUM(['B'])/SUM(['B']) ELSE 0
END
然而,这是不正确的。我还在研究这个。 任何建议表示赞赏。
此处的一个建议 - 在 Tableau 中创建组(通过右键单击字段而不是通过计算来创建组)。
我是根据之前的采样数据给出的解决方案
使用的数据样本-
+--------------+-----+-----------+--------+------+
| total_backup | sku | available | date | used |
+--------------+-----+-----------+--------+------+
| 10 | A | 5 | Sep-19 | 5 |
+--------------+-----+-----------+--------+------+
| 20 | B | 5 | Sep-19 | 15 |
+--------------+-----+-----------+--------+------+
| 30 | B | 10 | Sep-19 | 20 |
+--------------+-----+-----------+--------+------+
| 10 | C | 5 | Sep-19 | 5 |
+--------------+-----+-----------+--------+------+
| 10 | C | 5 | Sep-19 | 5 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 1 | Sep-19 | 9 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 1 | Sep-19 | 9 |
+--------------+-----+-----------+--------+------+
| 20 | Y | 10 | Sep-19 | 10 |
+--------------+-----+-----------+--------+------+
| 30 | Y | 10 | Sep-19 | 20 |
+--------------+-----+-----------+--------+------+
| 40 | X | 10 | Sep-19 | 30 |
+--------------+-----+-----------+--------+------+
| 40 | A | 15 | Sep-20 | 25 |
+--------------+-----+-----------+--------+------+
| 20 | A | 10 | Sep-20 | 10 |
+--------------+-----+-----------+--------+------+
| 10 | B | 5 | Sep-20 | 5 |
+--------------+-----+-----------+--------+------+
| 40 | C | 15 | Sep-20 | 25 |
+--------------+-----+-----------+--------+------+
| 50 | C | 15 | Sep-20 | 35 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 5 | Sep-20 | 5 |
+--------------+-----+-----------+--------+------+
| 10 | Z | 2 | Sep-20 | 8 |
+--------------+-----+-----------+--------+------+
| 20 | Y | 5 | Sep-20 | 15 |
+--------------+-----+-----------+--------+------+
| 10 | X | 2 | Sep-20 | 8 |
+--------------+-----+-----------+--------+------+
创建一个新的计算字段 desired new val
作为
zn(sum(if [Sku (group)]= 'sum group' then [val] end))
+
zn(avg(if [Sku (group)] = 'avg group' then [val] end))
最后一步构建您的视图
P.S。要添加工具提示,您无需保留 'total' 列。反正可以加。