计算自定义 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)>