【问题标题】:Calculate totals within custom SQL query (Tableau)在自定义 SQL 查询 (Tableau) 中计算总计
【发布时间】:2021-03-06 19:43:12
【问题描述】:

我有一个数据集,我希望在其中反映我在 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))})}

我做错了什么,因为当我只想要每列的总数时,它会在所有列中总计(我在完整数据集中有更多列)。

(使用自定义查询创建)

感谢任何帮助。

【问题讨论】:

    标签: if-statement tableau-api visualization


    【解决方案1】:

    此解决方案有效:

    1.创建计算字段:

    WINDOW_SUM([SUM_AVG])
    

    2.将新计算的字段拖到视图中

    3.右键“编辑表计算”

    4.使用[Last_Refreshed]和[type]指定和计算

    这将允许您跨单元计算,从而为您提供所需的结果

    【讨论】:

    • 那么Lynnette,问题解决了吗?请给我几个小时,我会尝试提供替代解决方案。
    • 嗨@AnilGoyal 我所展示的作品。好的,没关系
    【解决方案2】:

    在我看来,你可以在不改变底层视图的情况下做到这一点。 WINDOW_SUM 是一个表格计算,始终依赖于生成的视图/上下文。因此,我总是更喜欢不依赖于上下文的 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 |
    

    Step-1 与之前一样在画面中生成的透视图。

    第 2 步 计算字段 sum-avg 也按讨论生成。

    第 3 步生成的视图

    第四步添加另一个字段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)>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 2016-08-27
      • 2014-05-16
      • 2021-10-19
      相关资源
      最近更新 更多