【问题标题】:Tableau - Filter/Parameter For Different Date RangesTableau - 不同日期范围的筛选器/参数
【发布时间】:2016-06-22 06:50:41
【问题描述】:

我正在尝试为 Tableau 中的不同日期范围设置过滤器或参数,例如:

  1. 上一周
  2. 前 4 周
  3. 前 8 周

基于数据库中的最新数据。这可能吗?

编辑: 我应该在这里更清楚。

是否可以在过滤器中仅包含这些选项,并根据数据库中的最大日期进行设置?

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    更新

    根据您的评论和更新的问题,您可以按照您的意愿进行操作,尽管它并不那么简单。

    注意:我很快就用随机数据集完成了这项工作,因此对你来说,用你的数据集彻底测试这一点很重要。

    步骤:

    1. 创建用户将用来更改所选日期范围的参数控件。我将其创建为一个字符串列表,其中包含可以直接在计算中使用的值(在简单转换之后):

    1. 创建一个计算字段,将其用作引用参数控件选择的过滤器。它测试查看视图中的最大日期与任何给定行的日期之间的差异(以周为单位)是否小于参数的值。

    计算:INT([Date Filter Parameter]) > DATEDIFF("week",ATTR([Date Field]),WINDOW_MAX(MAX([Date Field])))

    1. 将计算字段放入过滤器框中,并将其设置为True。

    您将能够像这样过滤您的数据:


    原答案

    是的 - 这是 Tableau 中内置的。

    将您的日期添加到过滤器并选择“相对日期”选项:

    您可以设置默认值 - 用户可以稍后更改:

    然后只是“显示过滤器”:

    【讨论】:

    • 我应该在这里更清楚。是否可以在过滤器中仅包含这些选项并根据数据库中的最大日期进行设置?
    • @Nicarus 很好的修改答案,但仍然存在一个问题。表 calc 不会按请求查看数据库中的最后一个日期,而是查看查询结果的当前分区中的最后一个日期。那可能非常不同。而是定义一个名为“Last_Date = {MAX([Date Field])} 的 LOD 计算并使用它而不是 WINDOW_MAX(或者只需将 WINDOW_MAX 替换为一行中的左花括号并适当关闭)
    • @AlexBlakemore - 在我知道 OP 的数据集是什么样子之前 - 我没有太多可以扩展的内容。
    • @AlexBlakemore 这对我有用。我遇到了另一个问题。我不仅要实施前一周、前 4 周和前 8 周,还必须自己添加前两周。这可能吗?比如:1. Previous Week 2. Previous 2 Weeks (This week alone) 3. Previous 4 Weeks
    • 是的,@Nicarus 展示的方法非常普遍。您可以根据需要扩展它。只需为用户可能请求的每个设置选择一个参数,然后修改您的计算字段以查看当前记录中的参数值和字段值,如果该记录应包含在可视化项中,则返回 true。阅读 Tableau 文档中的各种与日期相关的函数,例如 DateDiff、DateTrunc、DateAdd
    猜你喜欢
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多