Tableau DATEPART 函数是日期函数之一,它有助于提取给定日期的部分,并根据第一个参数(即 date_part)返回整数值。
例如,如果您将 year 作为第一个参数传递,DATEPART 函数将从 Date1 返回年份。本文展示了如何使用 DATEPART 函数,并提供了可能的提取技术的示例,包括参数解决方案。
尽管有 YEAR()、MONTH()、DAY() 等专用函数来获取日期部分,但 DATEPART 函数是最先进的,并且为开发人员提供了更大的控制。Tableau DATEPART 函数的语法如下所示。
DATEPART(date_part, date, start_of_week)
在上面的 DATEPART 语法中,该函数的 date_part(第一个)参数接受 day、year、month、quarter、weekday、dayofweek、week、hour、minute、second 等。start_of_week 参数是可选的;您可以使用它来指定一周的开始日期。例如,“Monday”、“Sunday”等。
Tableau DATEPART 函数示例
为了演示这个 DATEPART 日期函数,我们使用一个简单的 Employee 表,其中包含一个 Hire Date 列,并使用该列来提取日期的每个部分。
要使用此内置 DATEPART 函数,我们必须创建一个计算字段,以便您可以编写表达式。因此,右键单击 Measures 区域中的空白区域,然后选择 Create Calculated Field.. 选项。
从日期中提取年份
在此 Tableau DATEPART 函数示例中,我们将提取 Hire Date 的年份,以查看每位员工入职公司的年份。为此,请使用 year 作为第一个参数,HireDate 作为第二个参数来编写以下表达式。由于第一个参数是字符串,因此必须将其放在单引号或双引号中。
DATEPART('year', [Hire Date])

接下来,我将把这个 计算字段 添加到 表格 中。如果您查看输出,您会清楚地看到年份。

请记住,如果存在逗号(千位分隔符),请右键单击单元格,然后单击格式。接下来,转到 Numbers -> Number (Custom) -> 取消选中 Include Thousand Separator 选项。有关更多信息,请参阅 日期函数 和其他 函数。
从日期中提取天数
如果要从 Hire date 中提取或返回天数,那么与上面类似,我们创建了另一个计算字段,将 day 作为 Tableau DATEPART 函数的第一个参数。
DATEPART('day', [Hire Date])

使用相同的技术来提取月份、星期、小时等。为每个部分创建具有适当 date_part 值的所需计算字段将是最好的。
从日期中提取月份
要返回 1 到 12 的月份编号,请使用以下表达式
DATEPART('month', [Hire Date])
从日期中提取小时
使用以下表达式从日期和时间返回 1 到 24 的小时。
DATEPART('hour', [Hire Date])
使用参数的 Tableau DATEPART 函数
如果您想允许用户选择所需的 datepart,请创建一个具有项目列表的参数,而不是为每个 DATEPART 表达式创建多个计算字段。为此,请右键单击 Measures 区域的空白空间,然后在 Tableau 中选择 Create Parameter 选项。
这将打开以下窗口。我将选择 Data type 为 String。接下来,添加一个参数值列表,代表 date_part,例如 day、year、month、hour、minute、dayofyear 和 weekday。

接下来,创建一个名为 UserDatePart 的计算字段,并将参数作为第一个参数。
DATEPART([ParamDatePart], [Hire Date])
将 UserDatePart 添加到表中,单击 ParamDatePart 参数旁边的向下箭头,然后从上下文菜单中选择 Show Parameter 选项。

我将默认参数值从 month 更改为 minute。Tableau DATEPART 从 HireDate 中提取并返回分钟。
