Tableau DATEADD 函数

Tableau DATEADD 函数是日期函数之一,它根据 date_part(第一个参数)将用户指定的间隔数添加到给定日期。

例如,如果第二个参数传递 5,第一个参数传递年份,DATEADD 函数会在给定日期(即第三个参数)上加五年。本文将演示如何使用 DATEADD 函数并添加不同的 date_part 值,通过示例构建或预测新日期。

Tableau DATEADD 函数的语法如下。

DATEADD(date_part, interval, date)

在上面的 DATEADD 语法中,

  • date_part(第一个参数)接受 iso-weekday、iso-week、iso-quarter、iso-year、year、day、month、week、quarter、weekday、hour、minute、second、dayofweek 等。
  • 在 Tableau DATEADD 函数中,interval 参数接受正整数和负整数值,并将此值添加到现有日期 date_part。
  • 第三个参数是我们想要使用的实际日期。例如,date_part = ‘month’,interval = 4,date = 01/01/2020。这意味着 DATEADD 函数在 01/01/2020 上添加四个月,输出为 01/06/2020。

Tableau DATEADD 函数示例

为了演示 Tableau DATEADD 日期函数,我们使用 Employee 表中的 Hire Date 列,并通过试验 date_part 来尝试递增或添加所有间隔到日期。

首先,我们必须创建一个计算字段来使用此内置的 DATEADD 函数,因为我们需要编写表达式。为此,右键单击 Measures 区域中的空白处,选择 Create Calculated Field.. 选项。

为日期添加 10 年

在此 Tableau DATEADD 函数示例中,我们将 Hire Date 加上十年。为此,请使用以下表达式,其中第一个参数为 year,10 为 interval,HireDate 为第三个参数。由于第一个参数是 year,下面的代码将在 HireDate 列上加十年。

DATEADD('year', 10, [Hire Date])

接下来,我将那个 计算字段 添加到表中。如果您查看输出,您可以看到 10 年的差异。请记住,当您将日期字段添加到 Rows 区域时,它可能会选择 YEAR(AddYears)。因此,请点击 YEAR(AddYears) 旁边的下拉箭头,勾选 Exact Date,并将其更改为 Discrete。

Tableau DATEADD Function to add 10 Years to date

从上面的 Tableau 图片中,您可以看到我们已经格式化了文本。为此,右键单击 Date 单元格,然后单击 format 或使用 format 菜单。有关更多信息,请参阅 日期函数 和其他 函数 文章。

Tableau DATEADD 函数从日期减去 5 年

interval 参数也接受负值 — 正数表示添加,负数表示从日期减去 date_part。例如,我将编辑现有的 AddYears 计算字段,并将 interval 值 10 替换为 -5。它将从 HireDate 中减去五年。请从下图进行检查。

DATEADD('year', -5, [Hire Date])
Tableau DATEADD Function to Subtract 5 Years from the date

为日期添加 5 天

如果您想在 Hire date 上添加五天,那么,与上面一样,创建另一个计算字段 AddDays,第一个参数为 day,第二个为 5,第三个为 HireDate。

DATEADD('day', 5, [Hire Date])

类似地,要减去 30 天,请使用以下方法。

DATEADD('day', -30, [Hire Date])

使用此相同技术来添加月、周、小时、分钟、秒等。请记住,您必须为每个计算创建新的计算字段,并包含适当的 date_part、interval 和 date 参数。

Tableau DATEADD 函数为日期添加 1 个月

要添加月份编号,请使用以下表达式

DATEADD('month', 10, [Hire Date])

为日期和时间添加 2 小时

要在 Hire date 和时间上添加小时,请使用以下表达式

DATEADD('hour', 2, [Hire Date])

Tableau DATEADD 函数使用参数

如果您希望用户能够为 DATEADD 函数提供 date_part,请创建一个参数化报表,其中包含 date_part 项目列表。为此,右键单击 Measures 区域的空白处,然后选择 Create Parameter 选项,以打开以下窗口。

我将 ParamDatePart 用作名称,选择 String 作为数据类型,并添加参数值列表,表示 Tableau DATEADD 函数的 date_part,即 year、month、day、hour、minute、second 和 week。接下来,编辑 AddYears 或创建新的计算字段,将参数作为第一个参数,10 作为第二个参数,HireDate 作为第三个参数。

DATEADD([ParamDatePart], 10, [Hire Date])

接下来,点击 ParamDatePart 参数旁边的下拉箭头,然后从上下文菜单中选择 Show Parameter 选项。默认情况下,它会将 10 小时添加到 HireDate。

请使用下拉列表更改 date_part。

为了让用户拥有更多控制权,我将创建一个名为 ParamInterval 的新参数,数据类型为 integer,最小值为 1,最大值为 100。接下来,编辑计算字段并添加以下代码。

DATEADD([ParamDatePart], [ParamInterval], [Hire Date])

现在,您可以使用下拉列表来更改 DATEADD 函数的 date_part,并使用滑块来更改 interval。