返回数据提示页面

如何比较Tableau的最后两个全天,周或数月

尖端

此内容从我的书中摘录, 创新的Tableau:100个更多提示,教程和策略由2020年的O'Reilly Media Inc.出版,ISBN:978-1492075653出版。 在亚马逊那里找到这本书.

这篇文章旨在帮助您在Tableau中的利用日期来创建仪表板中的强大比较。您将学习如何隔离最后两个完整报告期 - 无论是日子,周,几个月,季度,差点,所以可以将最后一个完整的日期部分与前一周的日期部分进行比较(即上周与前一周相比。 )。本帖子中共享的计算可以用作以下基础:(1)在百分比或索引变化中创建期限,(2)将您的仪表板过滤到最近的日期,(3)正常化它们以便重叠相同的轴。

虽然几乎总是在Tableau中做同样的方式,但我试图提供易于执行的解决方案,也可以有效地处理。因此,此方法允许您在不使用细节计算或表计算的情况下比较最后两个完整的日期零件。我欠了一个大的感谢你玩游戏福利数据伙伴顾问, 罗迪扎科夫奇奇,正如他与我在这篇文章上与我合作的那样,使计算比我的原始想法更优雅。


相关视频教程:

Premier Tableau Elearning. 来自PlayFair数据电视


 

如何比较最后两个完整的日子,周,月,季度,或多年

无论您使用哪些日期部分(日,星期,月,季度或年),此技术如何运行,假设您的数据源至少日常更新。您需要计算的基本计算字段是否在最后一个完整时期或两个完整时期的日期范围内。此公式可以用案例写入或何时逻辑,但是代码稍微简洁的情况。为了说明,我将在Sample - SuperStore数据集中使用日期部分'周'。

注意:我在2019年1月1日之前写这件事,Suppls - Superstore DataSet仅经历2018年。因此,我通过创建计算字段来调整订单日期字段来添加一年( [订单日期] = [订单日期] + 365)。

公式是:

案例[订单日期]< DATETRUNC(‘week’, TODAY())
当[订购日期]>= DATEADD(‘week’, -1, DATETRUNC(‘week’, TODAY())) THEN “Full Current”
当[订购日期]>= DATEADD(‘week’, -2, DATETRUNC(‘week’, TODAY())) THEN “Full Prior”
结尾

全新 or Full Prior CASE WHEN Calculated Field in Tableau

此逻辑中的第一行将日期范围限制为少于当今日期的日期,在周日部分截断,该部分消除了部分周。如果今天是2019年1月27日和我的一周开始,周一开始,所有日期都需要低于1/21/2019。

注意:默认情况下,Tableau星期天开始周日。要更改您的几周开始,请单击顶部导航中的数据,悬停在数据源的名称上,然后选择“日期属性...”。

计算中的下一行表示日期必须大于或等于上一周的开始。第三行表示,日期必须大于今天的第二次最后一周的开始。您可能会注意到该陈述中的第二行和第三行之间的日期中存在一些重叠(即,今天两周前两周前两周前),但每个日期只能分类一次。这意味着一旦日期被归类为“全电流”,它就无法被重新分类为“完整的”。

如果您愿意根据IF /那么逻辑思考,则公式将是:

如果[订单日期]<DateTrunc('周',今天())然后
(如果[订购日期]>= dateadd('周',-1,dateTrunc('周',今天()))然后“Full Current”
elseif [订单日期]>= dateadd('周',-2,dateTrunc('周',今天()))然后“Full Prior” END)
结尾

无论是使用案例何时或如果在那时版本,如果今天的日期为1/27/2019,则最后一周应于2019年1月14日开始,周期前两周前应于2019年1月1日开始。让我们看看它是否有效。我将在今年筛选日线图的销售,并将新创建的“全当前/完全”计算颜色标记卡计算。

销售日期显示Tableau之前的当前完整的VS电流

正如您所看到的,最后一周是彩色蓝色,并于2019年1月14日开始;第二届星期前是彩色的红色,并于2019年1月1日开始;其他一切都被归类为NULL并呈彩色灰色。我们刚刚孤立最后两个完整的报告期限!如果您在“日”,“月”,“四分之一”或“年”替换为“日”日期部分,则此计算有效。

 

比较Tableau中最后两个完整日期的其他想法

有几个策略我们可以从这一点实现,包括将视图过滤到最后两个完整时段,创建周期百分比更改计算,使比较范围归一化,以便它们在同一轴上重叠,并参数化日期部分以改变天/周/月/个月/季度/岁月。

 

1.使用完整的当前/完整的先前维度作为过滤器。

在最后一个屏幕截图中,您可以看到未归类为全当前或完整的日期的日期称为NULL和彩色灰色。要从视图中完全删除这些日期,只需关注相关日期,只需将新创建的计算尺寸添加到过滤器架并取消选择NULL。

过滤出全当前的空日期与完整的先前计算的字段

顺便说一下,如果您愿意的NULL日期有更好的名称,则可以在何时或何时计算字段中添加exce的exthe exclated字段中的else语句。例如,我可以通过将一个行添加到我计算的字段中调用我的空日期“不在范围内”:

案例[订单日期]< DATETRUNC(‘week’, TODAY())
当[订购日期]>= DATEADD(‘week’, -1, DATETRUNC(‘week’, TODAY())) THEN “Full Current”
当[订购日期]>= DATEADD(‘week’, -2, DATETRUNC(‘week’, TODAY())) THEN “Full Prior”
否则“不在范围内”
结尾

您可以通过在Tableau中使用相对日期过滤器类似地限制视图上的日期,但不同的是我正在分享滤波器的版本。

 

2.在最后两个完整时段之间计算百分比或索引变化。

孤立的数字不提供很多值,并且几乎总是最好以比较的形式提供上下文。我这么大的信徒在这方面,我的第一个转移仪表板元素是 当前与比较索引标注。现在很容易创建这个强大的组件,我们拥有基础全当前/完整的先前计算字段。让我们说,我们希望将销售措施与现有一周的全周集进行比较。我们需要将销售从“全当前”周和“完整先前”周隔离;然后计算更改百分比或索引分数。

全新周销售公式是:

总和(如果[完全当前/完整] =“Full Current” THEN [Sales] END)

全新 Week Sales Tableau Calculated Field

全面销售的公式是:

总和(如果[完全当前/完整] =“Full Prior” THEN [Sales] END)

完整的先前 Week Sales Tableau Calculated Field

计算最后两个完整周之间的变化百分比的公式是:

([[全新周销售] / [完整的前周销售])– 1

目前的VS在Tableau中的百分比变化计算

以下是创建这三个计算字段后的“当前与比较标注”的关注方式:

本周销售与前一周销售百分比变更呼出

►相关视频: Tableau仪表板元素–当前与比较标注

 

3.均衡比较范围,以便它们排在同一轴上。

如果在两周前在一条线条图上比较了最后一周到整整一周,如果两条线在同一轴上重叠的两行,则将更容易比较一天(即周二与周二)更容易。要完成此操作,而不是在列货架上使用数据集中的默认日期字段,请将其替换为“日期均衡器”计算字段,该字段将日期从x轴上的上向前移动的字段移动。如果我的日期部分是一周,则公式将是:

如果[完整的当前/完整] =“Full Prior”然后[订购日期] + 7
否则[订单日期]
结尾

2日期均衡器(周)Tableau中的计算字段

该公式看起来看看日期是否被归类为“完整”,如果是,则增加七天;否则它会显示默认日期。在使用一周的日期部分时,星期一从两个星期前(2019年1月7日)将被提升7天所以它与周一一周前的介绍(1/14/2019)。以下是在列货架上用[日期均衡器]更换[订购日期]时,我的线图如何查找。

全新 and Full Prior Normalized on Same Axis

注意:示例 - SuperStore DataSet目前在最近一年的1/10,1 / 11,1117或1/18没有数据;这导致在此示例中仅为每周五天的数据。

在处理日期,数周或年内,这种类型的归一化相对简单,因为范围含有相等的天数。另一方面,几个月,季度和自定义范围可能有不同数量的日期(即2月与1月),因此您必须在将它们添加到比较范围内的范围内计算该范围内的天数以均衡日期。有关正常化日期和日期功能,请参阅 如何在Tableau中标准化相同轴上的当前日期和日期日期.

 

4.创建一个参数以在飞行中更改比较日期部分。

在迄今为止的例子中,我使用了“周”日期部分来比较最后一周到它之前的一周,但如果您在白天,月,季度或年内取代一周,则提到了计算作品。那么,为什么不允许自己和最终用户快速通过不同的日期零件枢转?

通过设置具有字符串的数据类型的参数和允许值列表来相对容易实现。每个允许的值应代表您的日期零件之一。值本身需要小写,但显示为值可以是套件或缩写的标题。

字符串参数选择Tableau中的日期零件

然后,您将替换日期零件,'周'的每次发生,在全当前/完整的先前计算字段中使用此新创建的参数右键单击该参数,然后选择“显示参数控制”。遵循以下步骤后,您和最终用户将直接访问选择填充比较时段的日期部分。

把这个想法带到绝地级,看 如何使用Tableau的参数操作扩展将更改日期零件.

谢谢阅读,
– Ryan

 

如果您愿意自动比较 部分的 日期期间,见 如何比较Tableau中最后两个部分,月,季度或年.