PowerBi中DATEDIFF怎么使用?
DATEDIFF
是 Power BI(DAX)中的一个非常实用的函数,用于计算两个日期之间的差值,可以返回天数、月数、年数、小时数等。
🔍 一、DATEDIFF
是什么?
DATEDIFF
的全称是:
Date Difference(日期差)
这是它的含义,不是缩写的每个字母都有独立意义,而是表示 "两个日期之间的差值"。
✅ 解释:
-
DATE = 日期
-
DIFF = Difference(差值、差异)
合起来就是:Date Difference = 日期差
✅ 功能:
计算 两个日期之间的时间差,返回你指定的单位(如天、月、年、小时等)。
📘 二、语法结构
DATEDIFF(<start_date>, <end_date>, <interval>)
参数名 | 说明 |
---|---|
start_date | 开始日期(可以是字段或日期表达式) |
end_date | 结束日期(可以是字段或日期表达式) |
interval | 时间单位,如 DAY、MONTH、YEAR、HOUR 等 |
⏱️ 三、常用的时间单位(interval)
单位 | 写法 |
---|---|
天 | DAY |
月 | MONTH |
年 | YEAR |
小时 | HOUR |
分钟 | MINUTE |
秒 | SECOND |
季度 | QUARTER |
周 | WEEK |
🧪 四、示例
📌 示例 1:计算两个日期之间的天数
天数差 = DATEDIFF(Sales[OrderDate], Sales[ShipDate], DAY)
👉 表示发货日与下单日之间相差多少天。
📌 示例 2:计算用户注册后活跃了多少个月
活跃月份 = DATEDIFF(Users[RegisterDate], TODAY(), MONTH)
👉 表示某个用户从注册到今天为止已经过了多少个月。
📌 示例 3:计算客户生命周期(年)
客户生命周期 = DATEDIFF(Customers[FirstOrderDate], Customers[LastOrderDate], YEAR)
👉 表示客户从第一次下单到最后一次下单之间的年数。
⚠️ 五、注意事项
项目 | 注意点 |
---|---|
不能用于计算“工作日” | 如果你要剔除周末或节假日,需要用其他函数或自定义逻辑 |
日期必须有效 | 如果字段中有空值或无效格式,DATEDIFF 会报错 |
时间顺序 | end_date 必须晚于 start_date ,否则结果为负数 |
✅ 总结一句话:
DATEDIFF
= 两个日期之间相差多少时间(按你指定的单位),是计算用户生命周期、订单处理周期、延迟时间等常见分析的基础工具。