计算自定义 SQL 查询中的总计 (Tableau)
Calculate totals within custom SQL query (Tableau)
我有一个数据集,我希望在其中反映我在 Tableau 中执行的 自定义 SQL 查询 的总计。这是一些示例数据:
1.我首先执行了一个自定义查询,它是一个连接、逆透视并将我的数据放入组
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
814 701 Free_Space_TB Group1 701 Gris 8/1/2020
814 112 Used Group1 112 Gris 8/1/2020
2。然后我通过取一组的总和和另一组的平均值来汇总数据(并最终对这些组值求和)
数据汇总如下:(SUM_AVG)
zn(sum(if [Group]= 'Group1' then [Val] end))
+
zn(avg(if [Group] = 'Group2' then [Val] end))
视图看起来像这样
这是自定义查询输出
这是我的看法
当我将鼠标悬停在上方时会出现效用和已用,但我如何将总计包括在内?
这是我正在使用的计算(感谢 SO 成员的帮助):
{SUM({Fixed [type]: ZN(sum(if [Group]= 'Group1' then [Val] end))})
+
sum({Fixed [type]: zn(avg(if [Group] = 'Group2' then [Val] end))})}
我做错了什么,因为它是所有列的总和,(我在完整数据集中有更多列)而我只想要每列的总和。
(使用的是使用自定义查询创建的)
感谢任何帮助。
此解决方案有效:
1.Create一个计算字段:
WINDOW_SUM([SUM_AVG])
2.Drag 新计算的字段到视图
3.Right 单击“编辑 Table 计算”
4.Specify 并使用 [Last_Refreshed] 和 [type]
进行计算
这将允许您跨单元计算,得到您想要的结果
在我看来,这可以在不更改基础视图的情况下完成。 WINDOW_SUM
是一个 table 计算并且始终依赖于 view/context 生成。因此,我总是更喜欢不依赖上下文的LOD计算。
我认为你应该这样进行。一如既往,我更改了示例数据以包含足够的详细信息
使用的数据
| Id | Avail | group | used | Date |
|----|-------|--------|------|------------|
| A | 5 | Group1 | 5 | 20-01-2020 |
| A | 20 | Group1 | 20 | 20-01-2020 |
| B | 10 | Group2 | 10 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| A | 10 | Group1 | 10 | 20-01-2020 |
| A | 10 | Group1 | 10 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| A | 5 | Group1 | 5 | 20-02-2019 |
| A | 20 | Group1 | 20 | 20-02-2019 |
| B | 10 | Group2 | 10 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
| A | 10 | Group1 | 10 | 20-02-2019 |
| A | 10 | Group1 | 10 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
第 1 步 与之前一样在 tableau 中生成的数据透视表。
Step-2 计算字段 sum-avg
也按讨论生成。
第 3 步 生成的视图
Step-4 添加另一个字段 total
{FIXED [Date], [Group]: sum(
{FIXED [Date], [Group], [type]: zn(sum(if [Group]= 'Group1' then [val] end))}
+
{Fixed [Date], [Group], [type]: zn(avg(if [Group] = 'Group2' then [val] end))}
)}
第 5 步 将此字段添加到标记卡 上的详细信息。在此处查看 GIF
下面提到了工具提示中使用的代码。显然,您可以根据口味调整它。
Under the <Group> , <AGG(Sum_Avg)> was <type> out of total <SUM(Total)> SKU on <YEAR(Date)>
我有一个数据集,我希望在其中反映我在 Tableau 中执行的 自定义 SQL 查询 的总计。这是一些示例数据:
1.我首先执行了一个自定义查询,它是一个连接、逆透视并将我的数据放入组
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
814 701 Free_Space_TB Group1 701 Gris 8/1/2020
814 112 Used Group1 112 Gris 8/1/2020
2。然后我通过取一组的总和和另一组的平均值来汇总数据(并最终对这些组值求和)
数据汇总如下:(SUM_AVG)
zn(sum(if [Group]= 'Group1' then [Val] end))
+
zn(avg(if [Group] = 'Group2' then [Val] end))
视图看起来像这样
这是自定义查询输出
这是我的看法
当我将鼠标悬停在上方时会出现效用和已用,但我如何将总计包括在内?
这是我正在使用的计算(感谢 SO 成员的帮助):
{SUM({Fixed [type]: ZN(sum(if [Group]= 'Group1' then [Val] end))})
+
sum({Fixed [type]: zn(avg(if [Group] = 'Group2' then [Val] end))})}
我做错了什么,因为它是所有列的总和,(我在完整数据集中有更多列)而我只想要每列的总和。
(使用的是使用自定义查询创建的)
感谢任何帮助。
此解决方案有效:
1.Create一个计算字段:
WINDOW_SUM([SUM_AVG])
2.Drag 新计算的字段到视图
3.Right 单击“编辑 Table 计算”
4.Specify 并使用 [Last_Refreshed] 和 [type]
进行计算这将允许您跨单元计算,得到您想要的结果
在我看来,这可以在不更改基础视图的情况下完成。 WINDOW_SUM
是一个 table 计算并且始终依赖于 view/context 生成。因此,我总是更喜欢不依赖上下文的LOD计算。
我认为你应该这样进行。一如既往,我更改了示例数据以包含足够的详细信息
使用的数据
| Id | Avail | group | used | Date |
|----|-------|--------|------|------------|
| A | 5 | Group1 | 5 | 20-01-2020 |
| A | 20 | Group1 | 20 | 20-01-2020 |
| B | 10 | Group2 | 10 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| A | 10 | Group1 | 10 | 20-01-2020 |
| A | 10 | Group1 | 10 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| B | 5 | Group2 | 5 | 20-01-2020 |
| A | 5 | Group1 | 5 | 20-02-2019 |
| A | 20 | Group1 | 20 | 20-02-2019 |
| B | 10 | Group2 | 10 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
| A | 10 | Group1 | 10 | 20-02-2019 |
| A | 10 | Group1 | 10 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
| B | 5 | Group2 | 5 | 20-02-2019 |
第 1 步 与之前一样在 tableau 中生成的数据透视表。
Step-2 计算字段 sum-avg
也按讨论生成。
第 3 步 生成的视图
Step-4 添加另一个字段 total
{FIXED [Date], [Group]: sum(
{FIXED [Date], [Group], [type]: zn(sum(if [Group]= 'Group1' then [val] end))}
+
{Fixed [Date], [Group], [type]: zn(avg(if [Group] = 'Group2' then [val] end))}
)}
第 5 步 将此字段添加到标记卡 上的详细信息。在此处查看 GIF
下面提到了工具提示中使用的代码。显然,您可以根据口味调整它。
Under the <Group> , <AGG(Sum_Avg)> was <type> out of total <SUM(Total)> SKU on <YEAR(Date)>