DAX 实战:如何计算指定日期区间数据

科技   2025-01-17 19:05   江苏  
欢迎关注【BI佐罗数据分析】,今日精华包括:视频案例,技巧干货。

↓ 预约直播,更多干货,不要错过 ↓

 

在进行数据分析时,尤其是在时间序列分析或财务报表中,很多时候我们需要计算某个特定时间段的数据。这些需求通常出现在需要动态分析数据的场景,例如计算过去 3 个月、未来 3 个月或过去几个季度的数据。这种情况广泛应用于销售额、利润、库存等指标的分析,帮助我们了解一段时间内的数据变化。

如果我们想要分析过去 3 个月的销售数据,通常需要计算从当前日期开始回溯的日期范围。这个问题常见于动态数据分析中,尤其是与当前日期相关的滚动日期计算。

对于这种需求,DATESINPERIOD 和 DATESBETWEEN 是两种常用的 DAX 函数,它们都能够帮助我们获取指定日期范围内的日期。虽然它们有相似的功能,但各自的使用场景和语法略有不同。

这两个函数可以帮助我们解决:

  • • 计算某个时间段内的数据(如过去 X 个月、X 年等)。

  • • 根据已知的起始日期或开始结束日期计算时间区间。

函数介绍

1. DATESINPERIOD

DATESINPERIOD 函数返回一个指定时间间隔内的所有日期。你只需要提供起始日期和间隔(如年、月、日等),它会自动计算并返回该区间内的日期。适用于你只有开始日期、且需要根据固定的时间间隔(如一年、三个月等)来推算日期范围的场景。

语法

DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
  • • dates:日期字段(必须是日期类型)

  • • start_date:时间区间的起始日期

  • • number_of_intervals:表示时间区间长度的数字,正值表示向未来推算,负值表示向过去推算

  • • interval:可以是 "YEAR"(年)、"MONTH"(月)、"DAY"(日)等,用来指定时间间隔的单位

例如,计算从当前上下文最大日期开始,过去一年的销售额:

2. DATESBETWEEN

DATESBETWEEN 函数是一个更通用的版本,适用于你已经有明确的开始日期和结束日期时。该函数不需要你预先设置时间间隔,它直接通过提供的开始和结束日期来返回这个区间内的所有日期。

语法

DATESBETWEEN(<dates>, <start_date>, <end_date>)
  • • dates:日期字段(必须是日期类型)

  • • start_date:时间区间的起始日期

  • • end_date:时间区间的结束日期

使用场景:
如果你已知某个具体日期区间,如 2019 年 8 月 1 日至 2020 年 11 月 16 日,想要计算该区间内的销售额,可以使用 DATESBETWEEN

也可以根据当前上下文中的日期结合日期加减函数使用,比如计算最近三个月的销售额。

DATESINPERIOD 函数计算最近三个月的销售额。

总结

虽然这两个函数都有相似的功能,但它们适用于不同的场景。

  • • DATESINPERIOD 适合用于你只知道一个已知的起始日期,并且需要基于某个时间间隔(如1年、1季度等)来计算日期范围的情况。例如,计算过去一年的数据或过去三个月的数据,是当你只有开始日期和时间间隔时的理想选择。

  • • DATESBETWEEN 更适合已知起始和结束日期的场景。当你已经知道时间段的起始和结束日期时,DATESBETWEEN 提供了更高的灵活性,是当你已经知道开始和结束日期时的理想选择。

根据你的实际需求和数据情况,选择合适的函数来计算日期区间,可以帮助你更高效地处理时间序列分析和滚动计算。

 

对企业数据分析有问题?点击下方预约直播,还可现场连麦咨询哦。 

更专业的数据分析师训练营



🚀【经典课程】系统化学习 Power BI 经典视频课程。

📈【高级课程】业务人(管理、销售、财务、供应链)彻底解决企业数据分析。

🔍【企业咨询】十大行业,十大领域,企业案例,咨询,培训,实施。

🔗 如何获取更多信息?扫描下方二维码具体咨询。

BI佐罗数据分析 - 更专业更系统的企业数据分析

点击“阅读原文”获取更多资源

BI佐罗讲数据分析
多年PowerBI MVP带你学习更专业更系统的企业数据分析。
 最新文章