我正在尝试根据看起来像“ 01.01.2018 02:00:00”的日期字段过滤数据。例如,我应该首先选择一年中的一个月,然后基于此选择,我应选择一个月中的某周(较早选择),然后,我应选择本周中的某天,依此类推,直到每小时精确。在每次选择时,我的堆叠条都应适应选择(日期轴应更精确)并过滤所有其他数据。我知道我们可以扩展日期字段(层次结构),但我希望此过滤器是动态的。任何帮助,将不胜感激。预先感谢!
答案 0 :(得分:0)
您可以使用由自定义计算创建的一系列过滤器来做到这一点。
首先,请确保您的字段被识别为日期。
如果显示为Abc或其他类型,则可以单击类型本身,然后选择日期和时间。
接下来,您将需要进行一系列计算以解析出您的日期部分。您可以使用datename('datepart', dateObject)
返回名称(如一月,二月等),或使用datepart('datepart', dateObject)
返回数字值(1、2等)。我建议您计算日期名称,以便您可以根据层次结构使用维度和过滤。
datepart
可以是许多值,例如年,月,小时,秒等。有关完整列表,请参见Date Functions。
在日期中需要所有部分之后,选择所有维度,右键单击它们,然后选择“层次结构>创建层次结构”(也可以单击并拖动维度彼此重叠)。 (通过单击/拖动)将尺寸排序为适当的顺序。
接下来,右键单击层次结构中的每个维度,然后选择Show Filter
。这会将其添加到“过滤器”功能区并显示出来。 (提示:Tableau将过滤器添加到顶部,因此从层次结构的底部开始,因此您以后无需再次对其重新排序。)
基于上面创建的维度值层次结构,Tableau默认情况下将使过滤器成为层次结构。
然后,您可以通过将最终格式设置在仪表板上并自定义过滤器的位置/样式来进一步优化最终格式。
最后,如果您的数据集非常大,那么这将不是一种有效的方法,因为Tableau每次单击都需要重新计算所有层次结构筛选器值。我建议您使用较少的过滤器(相对日期或选择),或在此处探索一种指导性的分析方法。