【问题标题】:Rolling 7 Day Periods in Tableau在 Tableau 中滚动 7 天期间
【发布时间】:2020-05-19 01:17:41
【问题描述】:

我正在尝试弄清楚如何创建滚动的 7 天周期。我有当前按周分组的水平条形图,但我实际上希望它们按 7 天的时间段分组。

我以 Superstore 数据为例。这张图片的第一行应该是最近 7 天,最近的日期在右上角,依此类推。这可能吗?

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    假设您选择某个锚定日期来指定 7 天期间的开始,您可以创建一个字段用作维度。在本例中,我将选择 1776 年 7 月 4 日的字面日期,但您可以使用 Today() 函数或数据中的最小或最大交易日期或任何您喜欢的日期。

    然后,您只需要 DIV() 和 DATEDIFF() 函数来计算锚定日期和包含 [Order Date] 的期间之间的 7 天期间数。

    DIV(DATEDIFF('day', #7/4/1776#, [Order Date]), 7)
    

    您通常希望将此字段视为离散维度。

    在下面的示例中,我调用了字段 [Period],并显示了在每个 Period 的数据中找到的最早和最晚日期。

    在更面向生产的示例中,您可能希望隐藏“期间”字段的标题,而是计算期间的开始/结束日期,而不是从数据中提取它们,以便在没有期间边界的情况下正确显示任何交易。

    计算[Period Start] 的公式是DATE(DATEADD('day', [Period] * 7, #7/4/1776#)),计算[Period End] 是DATE(DATEADD('day', [Period] * 7 + 6, #7/4/1776#)) 如果要在许多公式中使用锚日期,在一个地方定义它会很方便带有参数或计算字段。

    【讨论】:

    • 谢谢。这种工作。它给我的是底部的一排,其中包含最后 7 天,但上面的栏只是个别日子。我选择了一个日期范围,并希望看到多组 7 天。这个可以吗?
    • 我想知道是否可以使用 If then 语句来完成此操作。如果在所选日期“w1”的最后 7 天内,否则如果在 15 到 8 天“w2”之间。但我不确定如何在 Tableau 中编写此代码
    • 查看修改后的答案。此示例在标记卡上的详细信息或其他架子上没有任何内容。如果您仍然有问题,请发布一个工作簿 - 比如说 Tableau Public - 以进行诊断。
    • 在此处查看 Tableau Public 的链接:public.tableau.com/views/SuperstoreTest_15898411605390/…
    • Sheet2 显示了我正在处理的内容。看看底行如何包含所有彩色日期部分?每一行都应该是这样。并且有 7 天的到达栏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 2017-09-25
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多