在 Tableau 中选择日期之间的值
Selecting values between dates in Tableau
我开始使用 Tableau。我的数据如下所示。
我想创建按颜色划分可视化项的计算字段。我在处理日期时遇到问题。如您所见,变量 Quarter 包含每年的季度。我想要的是消除这些差距。我知道我的计算字段做错了,但我尝试了很多不同的选项,其中 none 个有效。基本上我希望每位总统在 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
您在行中看到的中断不是您的计算造成的,但这里有两个建议 - 以及其他一些提示。
与完整日期进行比较,使用日期文字(包含在 # 符号中)或调用类似 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 提出的单独 table 并使用连接的建议也是一个好主意,但连接计算看起来不像上面那个 - 提示 - 它会有 2 个测试
关于标记之间的差距...
将此字段放在颜色架上后,尝试将其角色从维度更改为属性(并返回)以查看您喜欢哪种视图。您也可以直接拖动颜色图例中的图块,按时间顺序对它们进行排序。
我开始使用 Tableau。我的数据如下所示。
我想创建按颜色划分可视化项的计算字段。我在处理日期时遇到问题。如您所见,变量 Quarter 包含每年的季度。我想要的是消除这些差距。我知道我的计算字段做错了,但我尝试了很多不同的选项,其中 none 个有效。基本上我希望每位总统在 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
您在行中看到的中断不是您的计算造成的,但这里有两个建议 - 以及其他一些提示。
与完整日期进行比较,使用日期文字(包含在 # 符号中)或调用类似 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 提出的单独 table 并使用连接的建议也是一个好主意,但连接计算看起来不像上面那个 - 提示 - 它会有 2 个测试
关于标记之间的差距...
将此字段放在颜色架上后,尝试将其角色从维度更改为属性(并返回)以查看您喜欢哪种视图。您也可以直接拖动颜色图例中的图块,按时间顺序对它们进行排序。