【发布时间】:2021-03-05 19:52:18
【问题描述】:
我有一个数据集,我希望根据值名称将数据分成两组。然后我希望对一组的结果进行平均,并对另一组的结果求和。最后,我想把这两者相加来创建一个条形图。
更新 这是数据
Id Total Avail Date group used
A 10 5 9/1/2020 Group1 5
A 40 20 9/1/2020 Group1 20
B 20 10 9/1/2020 Group2 10
B 10 5 9/1/2020 Group2 5
B 10 5 9/1/2020 Group2 5
A 20 10 9/1/2020 Group1 10
A 20 10 9/1/2020 Group1 10
B 10 5 9/1/2020 Group2 5
B 10 5 9/1/2020 Group2 5
这就是我所做的
1。 首先创建计算。字段命名:group - 将数据分组
IF [Id] = 'A' THEN 'Group1'
ELSEIF [Id] = 'B' THEN 'Group2'
ELSE 'none'
END
然后创建计算。字段 - sum_avg Group1 (A) 列的总和并取 Group2 (B) 的平均值
CASE [group]
WHEN 'Group1' THEN { FIXED [Id]: SUM([Avail])}
WHEN 'Group1' THEN {FIXED [Id]: SUM([used])}
WHEN 'Group1' THEN {FIXED [Id]: SUM([Total])}
WHEN 'Group2' THEN { FIXED [Id]: AVG([Avail])}
WHEN 'Group2' THEN {FIXED [Id]: AVG([used])}
WHEN 'Group2' THEN {FIXED [Id]: AVG([Total])}
END
结果如下:
想要的结果:
我希望添加 Group1(sum) 和 Group2(avg) 的 Avail、Used 和 Total 以便 最终的图表结合了两个蓝色值并结合了绿色值。
The SUM of Group1A Avail = 45 and the AVERAGE of G Avail Group2 = 6
So I wish the Avail section (blue) of the barchart to be: 51
and the Used (green) should be 51 as well
with the total as 102 (Ill add to tooltip)
感谢任何建议-我仍在研究此问题,感谢任何建议
更新
我有一个数据集,我希望在其中反映自定义 SQL 查询的总数。以下是一些示例数据:
Size Tb Val type Group Sum_AVG SKU Last_refreshed
270 90.5 Free_Space_TB Group2 90.5 Excel 9/1/2020
270 179.5 Used Group2 179.5 Excel 9/1/2020
这是自定义查询输出
这是我的看法
当我将鼠标悬停在上面时,会显示播出信息和使用情况,但我如何包含总数?
这是我正在使用的计算(感谢 SO 成员的帮助):
{SUM({Fixed [type]: ZN(sum(if [Group]= 'Group1' then [Val] end))})
+
sum({Fixed [type]: zn(avg(if [Group] = 'Group2' then [Val] end))})}
SUM_AVG 是:
zn(sum(if [Group]= 'Group1' then [Val] end))
+
zn(avg(if [Group] = 'Group2' then [Val] end))
我做错了什么,因为它在所有列中总计,而我只想要每列的总数。
(使用自定义查询创建)
【问题讨论】:
-
我很抱歉@anilgoyal 我已经更新了这篇文章
-
请查看编辑后的答案。
-
当您提供的数据仅涉及一个日期并且您的视图包含多个日期时,谁能为您提供帮助。总是建议给出最小的可重复示例,以便可以理解所有的曲折。尽管如此,请尝试在固定声明中包含 [日期]。或者请提供一些相当数量的数据来处理。
-
好的@AnilGoyal,我在想这个概念是一样的。一切正常,除了我在所有蓝色列中的总计计算总计,而不是每个蓝色列。我将不得不更新帖子。谢谢s
-
嗨@AnilGoyal 在固定声明中添加日期,类似这样吗? {SUM({Fixed [type]: ZN(sum(if [Group]= 'Group1' then [Val] end))}) + {SUM({Fixed[date]: ZN(sum(if[Group]= ' Group1; then [Val] end))}) + sum({Fixed [type]: zn(avg(if [Group] = 'Group2' then [Val] end))})} ?谢谢
标签: if-statement tableau-api visualization aggregation measure