【问题标题】:Selecting values between dates in Tableau在 Tableau 中的日期之间选择值
【发布时间】:2021-03-11 20:45:51
【问题描述】:

我开始玩 Tableau。我的数据如下所示。

我想创建按颜色划分我的可视化项的计算字段。我在处理日期方面遇到了问题。如您所见,变量 Quarter 由每年的季度组成。我想要的是摆脱这些差距。我知道我的计算字段做错了,但我尝试了很多不同的选项,但都没有奏效。基本上,我希望每位总统在 2017 年 1 月 1 日开始(例如唐纳德特朗普)他的总统席位,并在 2020 年 12 月 31 日结束。

我应该如何编写它才能真正起作用?

IF YEAR([Quarter]) >= 1981 and YEAR([Quarter]) <= 1989 then 'Ronald Reagan' 
ELSEIF YEAR([Quarter]) >= 1989 and YEAR([Quarter]) <= 1993 then 'George H. W. Bush' 
ELSEIF YEAR([Quarter]) >= 1993 and YEAR([Quarter]) <= 2001 then 'Bill Clinton' 
ELSEIF YEAR([Quarter]) >= 2001 and YEAR([Quarter]) <= 2009 then 'George W. Bush' 
ELSEIF YEAR([Quarter]) >= 2009 and YEAR([Quarter]) <= 2017 then 'Barack Obama' 
ELSEIF YEAR([Quarter]) >= 2017 and YEAR([Quarter]) <= 2021 then 'Donald Trump' 
END

【问题讨论】:

    标签: date tableau-api


    【解决方案1】:

    您在行中看到的中断不是由您的计算引起的,但这里有两个建议 - 以及一些其他提示。

    使用日期文字(括在# 符号中)或调用 MakeDate() 之类的函数与完整日期进行比较。您可以利用先前测试失败的知识来简化和加速计算 - 即不要重复这些测试,如下所示。

    if [Quarter] < #01/20/1981# then ‘Historical’
    elseif [Quarter] < #01/20/1989# then 'Ronald Reagan'
    elseif [Quarter] < #01/20/1993# then 'George H. W. Bush'
    elseif [Quarter] < #01/20/2001# then 'Bill Clinton'
    elseif [Quarter] < #01/20/2009# then 'George W. Bush'' 
    elseif [Quarter] < #01/20/2017# then 'Barack Obama' 
    elseif [Quarter] < #01/20/2021# then 'Donald Trump'
    else ‘Joe Biden’
    end
    

    @AniGoyal 建议创建一个单独的表并使用连接也是一个好主意,但连接计算看起来不像上面的那个 - 提示 - 它将有 2 个测试

    关于标记之间的差距......

    将此字段放在颜色架子上后,尝试将其角色从维度更改为属性(并返回),以查看您喜欢哪种视图。您也可以直接拖动颜色图例中的图块以按时间顺序对其进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      相关资源
      最近更新 更多