Tableau DATEDIFF 函数

在 Tableau 中,DATEDIFF 是一个日期函数,用于计算两个日期(Date1 和 Date2)之间的差值,并根据差值项(Datepart)返回一个整数值。

例如,假设您将 date_part 或差值项设置为“年”。在这种情况下,DATEDIFF 函数将返回 Date1 和 Date2 之间总年数的差值。本文介绍了如何使用这个最受欢迎的 DATEDIFF 函数,并提供了可能的 date_part 项的示例。

Tableau DATEDIFF 函数的语法如下所示。在下面的 DATEDIFF 语法中,start_of_week 参数是可选的,您可以使用它来指定一周的开始日期。例如,“星期日”、“星期一”等。date_part 参数接受 year、month、day、quarter、weekday、week、hour、minute、second 等。

DATEDIFF(date_part, date1, date2, start_of_week)

请记住,DATEDIFF 函数会将 date1(第二个参数)表达式减去 date2(第三个参数)。所以,请务必小心,否则您将得到负数结果。

Tableau DATEDIFF 函数示例

为了解释 DATEDIFF 日期函数,我们使用一个简单的员工表,其中包含“入职日期”列(date1)和当前日期作为 date2 值。接下来,我们必须创建一个计算字段来编写一个表达式来使用任何内置函数。因此,右键单击 Measures 区域的空白处,然后从上下文菜单中选择“创建计算字段…”选项。

请在下方编写表达式,以找出今天和员工入职日期之间的总年数差。

DATEDIFF('year', [Hire Date], NOW())

我们还创建了另一个名为 Today 的计算字段,并使用了 NOW() 函数来获取当前日期。接下来,将 Today 添加到表中,并将 YearDiff 添加到 Text 区域,以查看 Tableau DATEDIFF 函数生成的差值。

与上述类似,我们创建了另一个计算字段,用于查找当前日期和入职日期之间的总月数差。有关更多信息,请参阅日期函数和其他函数

DATEDIFF('month', [Hire Date], NOW())

您可以使用相同的技术,使用不同的 date_part 值来创建所需的计算字段。

使用参数的 Tableau DATEDIFF 函数

我们不会为每个 DATEDIFF 表达式创建单独的计算字段,而是创建一个参数。为此,右键单击Tableau Measures 部分的空白处,然后选择“创建参数”选项。

这将打开以下窗口。将数据类型选择为 String,并添加一些参数值来表示 date_part,例如 year、month、day、week、dayofyear、quarter 和 weekday。

接下来,创建一个计算字段,其中 datediff 函数的 date_part 参数是参数,这样 Tableau 就会用用户选择的值替换此参数。

DATEDIFF([DatePart], [Hire Date], NOW())

单击 DatePart 参数旁边的向下箭头,然后从上下文菜单中选择“显示参数”选项。下面的屏幕截图显示了年差,因为这是默认参数值。

我将参数值更改为 Week。DATEDIFF 函数显示了 HireDate 和 Now 之间的总周差。