知识库

为特定日期范围创建日期计算


发布时间: 31 Jan 2013
上次修改日期: 26 Mar 2018

问题

如何创建可用于筛选出特定日期范围(例如前 n 天、上一周或特定日期范围)的计算字段。

环境

Tableau Desktop

答案

使用以下公式作为模板来创建计算字段。在下面的公式中,“Date”是日期维度的名称。

筛选天数范围

使用以下公式创建一个用于筛选前 n 天的计算字段:

IF [Date] < (today() - <n> + 1) OR [Date] > today() THEN NULL ELSE [Date] END
例如,用于筛选前 90 天的计算字段将具有如下公式:
IF [Date] < (today() - 90 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
用于筛选前 7 天的公式:
IF [Date] < (today() - 7 + 1) OR [Date] > today() THEN NULL ELSE [Date] END

筛选周

使用以下公式来筛选前一周的数据:
IF [Date] > (today() - 8 + 1) OR [Date] <= (today() - 15 + 1)
THEN NULL ELSE [Date] END
使用以下公式来筛选前八周的数据:
IF 
DATEPART('week', [Date]) <DATEPART('week', TODAY()) - 8 
OR 
DATEPART('week', [Date]) > DATEPART('week', TODAY()) -1 
THEN NULL 
ELSE [Date]
END

其他信息

  • 您可以使用日期参数、另一个字段或固定日期来替代 TODAY(),以根据不同的基准日期进行计算。
  • 可以使用日期函数中列出的任何 date_part 值来修改计算,以筛选不同的日期级别。

若要查看以上示例的实际运行效果,请观看下面的视频。
注意:对于运输日期维度,Sample - Superstore 数据源的最晚日期为 2016 年 1 月 6 日。这意味着我们不能使用 TODAY(),但我们可以使用替代项。
此文章是否已解决问题?