Tableau api 为表格设置时间段日期筛选器

Tableau api 为表格设置时间段日期筛选器,tableau-api,Tableau Api,是否有方法创建参数/过滤器,允许您根据日期切换设置的时间段 例如,我需要使用以下选项创建过滤器: 从数据库中最后一个日期算起的最近一周(最大日期减7) 从数据库中最后一个日期算起的前一周(当前周减去7) 前4周(最长日期减去28) 我只需要这些选项就可以从用户可用的过滤器中进行选择。这里的第一个问题是如何引用数据中的最后日期。简单的MAX([Order Date])不起作用,因为它依赖于过滤器和图纸布局,即它将为您提供过滤日期或多个日期,或两者兼而有之。假设您使用的是最新版本和数据源支持,则可以

是否有方法创建参数/过滤器,允许您根据日期切换设置的时间段

例如,我需要使用以下选项创建过滤器:

  • 从数据库中最后一个日期算起的最近一周(最大日期减7)
  • 从数据库中最后一个日期算起的前一周(当前周减去7)
  • 前4周(最长日期减去28)

  • 我只需要这些选项就可以从用户可用的过滤器中进行选择。

    这里的第一个问题是如何引用数据中的最后日期。简单的
    MAX([Order Date])
    不起作用,因为它依赖于过滤器和图纸布局,即它将为您提供过滤日期或多个日期,或两者兼而有之。假设您使用的是最新版本和数据源支持,则可以使用这些版本,例如
    {MAX([Order Date])}
    (请注意大括号)

    另一个问题是,您的日期范围重叠,因此简单的IF-THEN不起作用,因为使用IF-THEN,每个日期只能属于一个感兴趣的范围,即它无法处理重叠。试试看效果

    因此,要解决第二个问题,可以创建三个返回布尔值的计算字段(每个范围一个字段)(可能需要修改公式以满足需要):

    最后7天:

    [Order Date] >= {MAX([Order Date])} - 7 
                AND [Order Date] < {MAX([Order Date])}
    

    将其放在过滤器架上,选择“True”,显示参数控制并选择所需值

    这里的第一个问题是如何引用数据中的最后一个日期。简单的
    MAX([Order Date])
    不起作用,因为它依赖于过滤器和图纸布局,即它将为您提供过滤日期或多个日期,或两者兼而有之。假设您使用的是最新版本和数据源支持,则可以使用这些版本,例如
    {MAX([Order Date])}
    (请注意大括号)

    另一个问题是,您的日期范围重叠,因此简单的IF-THEN不起作用,因为使用IF-THEN,每个日期只能属于一个感兴趣的范围,即它无法处理重叠。试试看效果

    因此,要解决第二个问题,可以创建三个返回布尔值的计算字段(每个范围一个字段)(可能需要修改公式以满足需要):

    最后7天:

    [Order Date] >= {MAX([Order Date])} - 7 
                AND [Order Date] < {MAX([Order Date])}
    

    将其放在过滤器架上,选择“True”,显示参数控制并选择所需值

    你不是已经问过这个问题了吗?:是的,但是我上个星期的问题没有被回答。答案给了我前两周,而不是前一周。你不是已经问过这个问题了吗?:是的,但我前一周的问题没有回答。答案给了我前两周的时间,而不是前一周。这太完美了。谢谢@迪米特里:这太完美了。谢谢@迪米特里B
    [Order Date] >= {MAX([Order Date])} - 28 
            AND [Order Date] < {MAX([Order Date])}
    
    ([Is last 7 days] AND [Show Days] = 'last 7 days')
    OR
    ([Is 2nd  last week] AND [Show Days] = '2nd last week')
    OR 
    ([Is last 28 days] AND [Show Days] = 'last 28 days')