首页 > 解决方案 > Tableau 按公式筛选日期:最近一年的月份

问题描述

我将多年的数据提取到 Tableau 工作簿中。我已将 [日期] 药丸放入“过滤器”窗格中。当我编辑过滤器时,我想将过滤条件应用到最近一年的 10 月。

由于过滤器需要一个布尔值,我尝试了各种组合

DATEPART('month',[Date]) = 10 AND DATEPART('year', MAX([Date]))

但我似乎无法绕过混合最大聚合。我尝试用 包装 Max 函数ATTR DATEPART('year', ATTR(MAX([Date])),但这在 Filter>By 公式中似乎不起作用(无法识别 ATTR)。用 {} 包装 max 函数,我收到错误“公式必须是聚合计算或仅引用此字段。

标签: filterformulatableau-api

解决方案


为了过滤最近一年的日期,您需要一个这样的计算字段:

if year([Order Date]) = year({ FIXED : MAX([Order Date])}) then 'ok' else 'ko' end

基本上,您将每个日期的年份与最大日期的年份进行比较(使用固定来绕过过滤器)。

这样做您将只过滤(选择“确定”)您最大年份的行,然后您只需要在离散模式(蓝色)中添加另一个基于月份(日期)的快速过滤器。

你应该得到这样的东西:

在此处输入图像描述


推荐阅读