PowerBi中DATEDIFF怎么使用?

66 阅读2分钟

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 = 两个日期之间相差多少时间(按你指定的单位) ,是计算用户生命周期、订单处理周期、延迟时间等常见分析的基础工具。