首页 > 解决方案 > Tableau Desktop 上日期字段的级联筛选器

问题描述

我正在尝试根据看起来像“01.01.2018 02:00:00”的日期字段过滤我的数据。例如,我应该首先选择一年中的一个月,然后基于这个选择,我应该选择一个月中的一周(之前选择),然后,我应该选择本周的某一天,依此类推,直到每小时精确。在每个选择中,我的堆叠条都应该适应选择(日期轴应该更精确)并过滤所有其他数据。我知道我们可以扩展日期字段(层次结构),但我希望这个过滤器是动态的。任何帮助,将不胜感激。提前致谢!

标签: datetimefiltertableau-api

解决方案


您可以使用由自定义计算创建的一系列过滤器来执行此操作。

首先,确保您的字段被识别为日期。

Tableau 日期维度.

如果它显示为 Abc 或其他类型,您可以单击类型本身并选择日期和时间。

接下来,您将需要进行一系列计算来解决您的日期部分。您可以使用datename('datepart', dateObject)返回名称(如一月、二月等)或datepart('datepart', dateObject)返回数值(1、2 等)。我推荐使用 datename 计算,以便您可以使用基于层次结构的维度和过滤。

可以是许多值,datepart例如年、月、小时、秒等。请参阅日期函数以获取完整列表。

一旦您拥有要选择所有维度的日期的所有部分,右键单击它们,然后选择“层次结构>创建层次结构”(您也可以单击并拖动维度彼此叠加)。将尺寸排序(通过单击/拖动)到适当的顺序。

接下来,右键单击层次结构中的每个维度并选择Show Filter。这会将其添加到过滤器架子并显示它。(提示:Tableau 会将筛选器添加到顶部,因此请从层次结构的底部开始,这样您以后无需再次重新排序。)

基于以上创建维度值的层次结构,Tableau 默认情况下)使过滤器具有层次结构。

然后,您可以通过将它们放在仪表板上并自定义过滤器的位置/样式来进一步优化最终格式。

最后,如果您有一个非常大的数据集,这将不是一种高效的方法,因为 Tableau 需要在每次单击时重新计算所有层次结构过滤器值。我建议坚持使用更少的过滤器(相对日期或选择)或在此处探索引导分析方法。


推荐阅读