专栏名称: PowerBI战友联盟
微软 Power BI MVP BI佐罗 带你学习BI真经。
目录
相关文章推荐
51好读  ›  专栏  ›  PowerBI战友联盟

全网最全的 PowerQuery 日期函数介绍,赶快收藏!

PowerBI战友联盟  · 公众号  ·  · 2024-07-06 17:20

正文

请到「今天看啥」查看全文


日期列是使用日历表的基础,它包含有关年、月、日的所有相关信息。但是,为数据模型单独提供日期表更方便。这样可以轻松地在数据表中筛选它们或在 DAX 公式中引用它们。在本文中,我们将介绍 Power Query 中的各种日期函数。


年份

在 Power Query 中,我们可以使用一系列函数从日期中提取年份值。最常用的是两个函数是 Date.Year 和 Date.Totext。

这两个函数的区别也很明显,一个是提取出日期的年份序号,是数字;另一个是将日期按照指定个格式转化为文本。

先来看下 Date.Year 的用法,提取日期的年份序号。

从日期和时间获得日期年的可视化操作使用的就是这个函数。

如果你希望将年份作为文本值,则可以使用带有自定义格式字符串的 Date.ToText 函数。对于特定文本格式的年份(例如中文年),这将特别有用。

结果如下。

如何选择?

  • 使用 Date.Year:当需要将年份作为数字时,例如年份序号列。

  • 使用 Date.ToText:当需要将年份作为文本时,尤其是与其他文本值结合或需要自定义格式时,例如年份名称列。

月份

在 Power Query 中,也有多个函数可以从日期中提取月份,具体取决于你希望将月份作为数字还是名称。比较常用的有 Date.Month、Date.MonthName 和 Date.ToText 三个函数。

从日期中提取月份的最简单方法是使用 Date.Month 函数。此函数以数字形式返回月份。

结果如下。

如果你更喜欢月份名称而不是月份数字,则可以使用 Date.MonthName 函数。此函数还支持可选的区域文化参数,根据特定区域设置格式化日期。

结果如下。

从日期和时间获得日期月和月份名称的可视化操作使用的函数分别是 Date.Month 和 Date.MonthName。

要将月份格式化为特定字符串,可以使用 Date.ToText 函数。此函数有四种关于日期月格式的文本值,如下。

这里使用空格将每种格式分割开来,看下结果。

各种自定义格式对应的返回值如下。

MMM 和 MMMM 还支持区域文化参数设置,使用方法如下。

如何选择?

  • 使用 Date.Month:当需要将月份作为数字时,例如用于排序的月份序号列。

  • 使用 Date.MonthName:当需要月份作为名称时,可以根据不同的地区设置月份名称的格式时,如月份名称列。

  • 使用 Date.ToText:当需要以自定义格式格式化月份时,如以一位数或两位数文本返回日期,或使用自定义格式字符串返回。

周分为周数和周几,周数又分为一年的某一周和一个月的某一周,一年的某一周使用的函数为 Date.WeekOfYear,一个月的某一周使用的函数为 Date.WeekOfMonth。

一年的某一周。

一个月的某一周。

分别对应这两个可视化操作。

获取日期周几的函数就比较多了,常用的有  Date.DayOfWeek、Date.DayOfWeekName 和 Date.ToText 三个函数。

Date.DayOfWeek 函数以数字形式返回星期几,其中 0 代表星期一,6 代表星期日。

结果如下。

如果需要从其他日期开始计算星期几,可以使用可选的 Day.Type 参数。例如,如果您希望一周从星期日开始,则可以指定:

结果如下。

Date.DayOfWeekName 返回对应星期几的名称。

结果如下。

Date.DayOfWeekName 也支持区域文化参数设置。

Date.ToText 函数有两个返回周几格式的自定义字符,它也支持区域文化参数设置。

用空格将一周中某天的缩写名称和完整名称分割。

结果如下。

如何选择?

  • 使用 Date.WeekOfYear:需要返回一年中的某一周时。

  • 使用 Date.WeekOfMonth:需要返回一月中的某一周时。

  • 使用 Date.DayOfWeek:当需要以数字形式表示星期几时,可以是标准星期(0 = 星期一),也可以自定义每周的开始日期。

  • 使用 Date.DayOfWeekName:当需要以文本形式显示星期几的名称时。

  • 使用 Date.ToText:当需要将日期格式化为文本、简称或全名。

天分别有一年中的某一天、一月中的某一天。一年中的某一天常用函数为 Date.DayOfYear,获取一个月中的某一天常用函数为 Date.Day 和 Date.ToText。

先来看下一年中的某一天 Date.DayOfYear 函数。

结果如下。

一个月中的某一日 Date.Day 用法为:

结果如下。

从日期和时间获取天可视化操作使用的就是该函数。

最后一个还是万能函数 Date.ToText,它可以使用特定格式字符提取月份中的某一天,有两种返回格式。

使用方法:

结果如下,d 跟 dd 的区别在于当日小于 10 时返回 1 还是 01。

如何选择?

  • 使用 Date.Day:当需要将月份中的日期作为数字值时。

  • 使用 Date.DayOfYear:当需要知道一年内某个日期的序数位置时。

  • 使用 Date.ToText:以文本形式显示两位数时。

总结

Power Query 中的 M 语言具有一系列用于处理日期的便捷函数。我们可以提取年月日等基本部分。如果需要月份或星期几的名称,则可以使用 Date.MonthName 和 Date.DayOfWeekName 等函数。对于非常具体的格式,Date.ToText 函数具有自定义格式字符串的超级灵活性。

通过使用这些函数,我们可以完美地调整日期信息以满足不同的需求。因此,下次再构建日期表时,你知道有哪些选项可以选择了吧。

数据分析精英都会遇到的二十大分析问题

分析师必看: 业财人面临的二十大数据分析问题

数据分析精英都在学习的五大能力境界


分析师必备: 业务数据分析能力五层成熟度路线图框架全解


↓ 数据分析精英正在学习的课程 ↓

他们是:企业老板,高管,CFO,分析...
可以体验百万级真实企业项目案例,彻底打通任督二脉

数据分析师训练营 课程表

课程: 《业财分析之道》 业务财务人数字化能力必修课 🔥 🔥 🔥
2024年7月 满
2024年8月 少量席位

🎓 更多热门课程推荐👇👇👇

🚀 《业财分析之道》 业务财务人数字化能力必修课
📈 《经营分析之道》 企业指标拆解及经营分析框架

🔍 数据分析之道 精通分析十大方法加十大模型
💡
PowerBI 真经 更专业更系统化学习 Power BI

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

如果您觉得这篇文章对您有帮助或启发
感谢您【点赞】、【在看】
如果您需要添加老师,也请先 【点赞】、【在看】

这样老师才能更快地识别并回应

跟BI佐罗老师更专业更系统学企业数据分析
点击“阅读原文”获取更多资源







请到「今天看啥」查看全文