首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Tableau中的表计算中提取最后的值作为度量?

从Tableau中的表计算中提取最后的值作为度量?
EN

Stack Overflow用户
提问于 2021-12-08 05:00:51
回答 3查看 580关注 0票数 0

我在Tableau有原始数据,看起来如下:

代码语言:javascript
运行
复制
Month,Total
2021-08,17
2021-09,34
2021-10,41
2021-11,26
2021-12,6

并使用以下计算

代码语言:javascript
运行
复制
RUNNING_SUM( 
COUNTD(IF [Inserted At]>=[Parameters].[Start Date]
       AND [Inserted At]<=[End Date]
THEN [Id] ELSE NULL END
))

/

LOOKUP(RUNNING_SUM( 
COUNTD(IF [Inserted At]>=[Parameters].[Start Date]
       AND [Inserted At]<=[End Date]
THEN [Id] ELSE NULL END
)),-1)*100-100

我得到了

代码语言:javascript
运行
复制
Month,My_Calc
2021-08,NULL
2021-09,200
2021-10,80.4
2021-11,28.3
2021-12,5.1

我真正想要的是5.1 (最后一个月的价值)作为一个很大的指标(按月增长%)。

我怎样才能做到这一点?

我对Tableau比较陌生,不知道如何结合日期分组方面使用计算字段来表示我想要计算月增长。我尝试过本地的年增长率,运行总表计算,但结果并不相同,因为我认为我的计算方法是不同的。

EN

回答 3

Stack Overflow用户

发布于 2021-12-08 17:24:53

首先简单介绍一下表格,然后在最后给出答案。

Tableau中的大多数计算实际上由数据源(例如数据库服务器)执行,然后将结果返回到Tableau (即client)表示。这种职责分离允许高性能,即使面对非常大的数据集。

相反,表计算对从服务器返回的查询结果表进行操作。它们在操作顺序管道中执行得很晚。这就是为什么表calcs对聚合数据进行操作的原因--也就是说,您必须请求WINDOW_SUM(SUM([Sales))而不是WINDOW_SUM(Sales) )。

表calcs使您有机会对从数据源返回的查询结果进行最后的计算,然后再显示给用户。例如,您可以计算正在运行的总计,或者使可视化布局在一定程度上依赖于查询结果的内容。这种灵活性是有代价的,计算只是定义表calc的一部分。您还必须指定如何将计算应用于摘要结果表,称为分区和寻址Tableau在线帮助对分区和寻址有一个有用的定义。

从本质上说,表calcs一次应用于汇总数据块,也就是向量或窗口。分区是如何告诉Tableau如何将摘要查询结果分解为windows,以便应用表calc。寻址是如何指定希望遍历这些分区的顺序。寻址对于某些表calcs (如RUNNING_SUM )很重要,对于其他表(如WINDOW_SUM )则不重要。

除了很好地理解分区和寻址之外,了解函数索引()、SIZE()、FIRST()、LAST()、WINDOW_SUM()、LOOKUP()和(最终) PREVIOUS_VALUE()对真正理解表calcs也很有帮助。如果您真正理解它们,您将能够使用其中两个函数作为基本函数来实现所有这些函数。

最后,为了部分解决你的问题:

您可以使用布尔公式LAST() = 0来判断是否位于分区的最后一个值。如果将该公式用作筛选器,则可以隐藏所有其他值。您必须获得正确指定的分区和地址。实际上,您将从服务器上获取一批数据,在客户端的计算中使用它,但只显示其中的一部分。这可能有点易碎,取决于哪个领域是在哪个架子上,但它可以工作。

通常,使用可由服务器端执行的计算(如LOD calc )更有效,如果这允许您避免只为客户端计算获取数据。但是,如果数据已经被获取用于其他目的,或者如果计算需要表calc特性,例如依赖于值的顺序的能力,那么表calcs是一个很好的工具。

票数 0
EN

Stack Overflow用户

发布于 2021-12-12 19:22:54

不管您怎么做,每月的%从2021.11 (值26)到2021.12 (值6)的值并不是5.1%。

(6- 26) / 26 * 100 = -76.9 %

票数 0
EN

Stack Overflow用户

发布于 2021-12-13 02:50:48

好的,从零开始,这对我来说是有效的:(我不知道如何在不使用ShowMe和Flip的情况下准确地获得我想要的表格格式,但它是有效的。还有别人吗?)

  1. 拖动日期到行,将其更改为合并月份(日期)
  2. 将销售拖到柱架上
  3. 在showme中选择文本表。
  4. 使用工具栏翻转列行

得到一个像你上面显示的那张桌子

将销售拖曳到彩色(这是一个简单地保持它一分钟的技巧),

在标记卡上点击新销售药丸上的向下箭头,

选择“添加表计算”,选择“运行总计”,“和”,“使用表计算”(向下),但尚未关闭此弹出窗口。

单击底部的“添加辅助计算”复选框,选择与“使用表”相比的“与计算不同的百分比”

通过关闭弹出窗口(x)来接受您的工作。

现在,将标记卡中的新药片从颜色更改为文本。

你可以看到5.1%在底部。就快完成了。

通过单击ShowMe中的表并翻转轴来重新格式化。

单击sales列标题并隐藏它

创建一个新的计算字段标签“从下到下的行”公式= the ()关闭弹出窗口。

将新的药丸行从底部拖动到过滤器架上,选择范围0到0,关闭弹出窗口。

好了。

接下来的两周,您可以在这里看到已完成的工作簿( https://public.tableau.com/app/profile/wade.schuette/viz/month-to-month/hiderows?publish=yes )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70270176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档