【问题标题】:Tableau - row range based on dimensionTableau - 基于维度的行范围
【发布时间】:2017-04-22 03:47:17
【问题描述】:

假设我有这些数据:

当前 Last_Four Next_Two 15Q1 14Q1 15Q3 15Q2 14Q2 15Q4 15Q3 14Q3 16Q1 15Q4 14Q4 16Q2 16Q1 15Q1 16Q3 16Q2 15Q2 16Q4 16Q3 15Q3 18Q1 16Q4 15Q4 18Q2 18Q1 16Q1 18Q3 18Q2 16Q2 18Q4 18Q3 16Q3 19Q1 18Q4 16Q4 19Q2

我有一个过滤器来选择当前季度(第一列),选择此选项后,我需要将所有当前季度都带入 Last_Four 和 Next_Two 维度的范围内,因此例如,如果我选择 Current = 16Q1 tableau 中的表应该在列中显示从 15Q1 到 16Q3 的范围,如下所示:

销售额 15Q1 15Q2 15Q3 15Q4 16Q1 16Q2 16Q3 产品 X ## ## ## ## ## ## ##

我尝试创建一个计算字段,但没有成功
如有任何帮助,我将不胜感激

【问题讨论】:

    标签: dynamic filter tableau-api calculated-field


    【解决方案1】:

    您可以让这一切变得更简单。只有一个名为 Period 的日期类型列,不是字符串,而是包含月、日和年的真实日期。它可以保存季度中的任何日期。

    添加一个名为感兴趣日期的日期类型参数并显示参数控件。

    添加一个名为在日期范围内定义为

    的计算字段
    Period >= dateadd('quarter', datetrunc('quarter', [Date of Interest]), -4) and
    Period <= dateadd('quarter', datetrunc('quarter', [Date of Interest]), 2)
    

    在日期范围内放在过滤器架上并选择 True

    最后将 Period 放在 Columns 架子上并展开以查看季度。如果你把销售放在文字上,你就会做生意。从参数控件中选择您希望的周期。

    归根结底,使用日期比使用表示日期的字符串更有效

    【讨论】:

    • 谢谢亚历克斯!这实际上用常规日期很好地解决了这个问题。我需要坚持字符串操作,因为我们有一个自定义会计日历和一个虚拟期间,这增加了使用常规日期的一些复杂性(出于商业原因,我们根本不考虑 2017 年,所以我们从 16Q4 跳到 18Q1)
    • 您可以保持我展示的相同方法,只需对计算字段 [日期范围内] 进行更复杂的定义,以考虑跳过 2017 年。
    猜你喜欢
    • 2017-11-06
    • 2014-08-10
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多