在上一篇博客中,通过Date.ToTextDate.DayOfWeekName函数创建了新的数据列,如下图所示。

有时需要使用年月年月日等日期格式,有两种实现方法。

  • 利用前面已经提取的年、月、日,转换为text,然后再进行字符串组合
  • 使用Date.ToText函数转换日期格式(此方法更直接和简洁,下文将采用这个方法)

依次单击【添加列】=>【自定义列】,在【添加自定义列】对话框中,指定【新列名】为“年月Short”,输入公式=Date.ToText([Date],"yy-MM"),其中[Date]含义是引用Date列,单击【确定】按钮完成插入列。Date.ToText函数用于将日期转换为指定格式。

修改PQ公式,结果如下图所示。

使用类似方法添加如下两列。

列名 自定义列公式
年月Full =Date.ToText([Date],"yyyy年MM月")
年月日Full =Date.ToText([Date],"yyyy年MM月dd日")

修改PQ公式,结果如下图所示。

依次单击【开始】=>【关闭并上载】将时间维度表上载到Excel工作表中。

结果如下图所示。

在【高级编辑器】中查看PQ公式如下。

letFirstDate = #date(2018,1,1),LastDate = #date(2019,12,31), CalDates = {Number.From(FirstDate) .. Number.From(LastDate)},转换为表 = Table.FromList(CalDates, Splitter.SplitByNothing(), null, null, ExtraValues.Error),更改的类型 = Table.TransformColumnTypes(转换为表,{{"Column1", type date}}),插入的日期 = Table.AddColumn(更改的类型, "Date", each DateTime.Date([Column1]), type date),已添加自定义 = Table.AddColumn(插入的日期, "DateText", each Date.ToText([Date],"yyyyMMdd"), type text),复制的列 = Table.DuplicateColumn(已添加自定义, "DateText", "DateInt"),更改的类型1 = Table.TransformColumnTypes(复制的列,{{"DateInt", Int64.Type}}),插入的年份 = Table.AddColumn(更改的类型1, "Year", each Date.Year([Date]), type number),插入的月份 = Table.AddColumn(插入的年份, "Month", each Date.Month([Date]), type number),插入的某一日 = Table.AddColumn(插入的月份, "Day", each Date.Day([Date]), type number),插入的季度 = Table.AddColumn(插入的某一日, "Quarter", each Date.QuarterOfYear([Date]), type number),插入的每年的某一周 = Table.AddColumn(插入的季度, "WeekOfYear", each Date.WeekOfYear([Date]), type number),年份 = Table.AddColumn(插入的每年的某一周, "年份", each "Y" & Text.From([Year]), type text),季度 = Table.AddColumn(年份, "季度", each "Q" & Text.From([Quarter]), type text),月份 = Table.AddColumn(季度, "月份", each Text.From([Month]) & "月", type text),月份2 = Table.AddColumn(月份, "月份2", each Date.ToText([Date],"MMM"),type text),星期 = Table.AddColumn(月份2, "星期", each Date.ToText([Date],"ddd"),type text),星期2 = Table.AddColumn(星期, "星期2", each Date.DayOfWeekName([Date]),type text),年月Short = Table.AddColumn(星期2, "年月Short", each Date.ToText([Date],"yy-MM"),type text),年月Full = Table.AddColumn(年月Short, "年月Full", each Date.ToText([Date],"yyyy年MM月"),type text),年月日Full = Table.AddColumn(年月Full, "年月日Full", each Date.ToText([Date],"yyyy年MM月dd日"),type text)
in年月日Full

至此,使用Power Query制作时间维度表系列的博文全部完成,希望对于对于大家学习PQ的使用方法有帮助。

相关文章链接如下:
PQ制作时间维度表(1)
PQ制作时间维度表(2)
PQ制作时间维度表(3)
PQ制作时间维度表(4)
PQ制作时间维度表(5)
PQ制作时间维度表(6)
PQ制作时间维度表(7)

BI神器Power Query(18)-- PQ制作时间维度表(7)相关推荐

  1. BI神器Power Query(14)-- PQ制作时间维度表(3)

    在上一篇博客中,根据日期序列新建了文本日期列,如下图所示. 接下来将在时间维度表新建整数型的日期列,使用上一篇博客中添加自定义列的方法可以实现这个要求,本文将使用不同的操作方法来实现. 选中" ...

  2. BI神器Power Query(17)-- PQ制作时间维度表(6)

    在上一篇博客中,通过Text.From函数创建了"年份"."季度"和"月份"列数据列,如下图所示. 大家都知道在Excel中日期格式有很多种 ...

  3. BI神器Power Query(15)-- PQ制作时间维度表(4)

    在上一篇博客中,使用[重复列]添加新列,如下图所示. 接下来讲解一下[添加列]选项卡中[日期]按钮的使用方法. 如果选中的列不是日期类型,那么多数功能将被禁用,如下图所示. 选中[Date]列,依次单 ...

  4. BI神器Power Query(16)-- PQ制作时间维度表(5)

    在上一篇博客中,使用[添加列]选项卡中[日期]按钮的相关添加新列,如下图所示. 虽然这些内置功能已经添加了年月日等列,但是实际使用中可能会用到多种不同的形式,例如2019年四季度会记作:Y2019Q4 ...

  5. BI神器Power Query(13)-- PQ制作时间维度表(2)

    在上一篇博客中,创建了日期序列,如下图所示. 接下来我们继续创建时间维度表的其他列,依次单击[添加列]选项卡=>[日期]下拉按钮=>[仅日期],将添加新列,可以从指定数据列(例如包含日期和 ...

  6. BI神器Power Query(12)-- PQ创建时间维度表(1)

    Power Query支持数据模型,可以将多种数据添加到数据模型,然后建立关联关系并进行后续分析.有些时候会使用类似于数据仓库星形模型的方式进行关联,这里常用的两类表为维度表和事实表.维度表是维度属性 ...

  7. BI神器Power Query(8)-- PQ从文本文件导入数据(2/2)

    文本文件是大家经常使用的数据文件格式,PQ可以方便的导入文本文件中的数据,然后在Excel可以进行后续加工和处理. 依次单击[数据]选项卡>[新建查询]>[从文件],其中的[从CSV]和[ ...

  8. BI神器Power Query(6)-- PQ从工作簿导入数据(2/2)

    对于Power BI的用户多数都是Excel重度用户,因此在PQ中导入Excel工作薄文件是多数用户都会遇到的场景,本博文讲解从工作簿导入数据时的几个典型应用方式. 续前文:BI神器Power Que ...

  9. BI神器Power Query(5)-- PQ从工作簿导入数据(1/2)

    对于Power BI的用户多数都是Excel重度用户,因此在PQ中导入Excel工作薄文件是多数用户都会遇到的场景,本博文讲解从工作簿导入数据时的几个典型应用方式. 示例工作簿文件文件中有如下4个工作 ...

最新文章

  1. 风雨飘摇中的HP会分拆Arcsight业务吗?
  2. Nginx 中 fastcgi_pass 监听端口 unix socket和tcp socket差别
  3. Jenkins 在 Tomcat 中的部署及代码静态检查工具集成
  4. python3软件怎么用_Python3学习之路~4.4 软件目录结构规范
  5. 【ECharts系列|02可视化大屏】 舆情分析,人口分析及警情警力活动情况的实现【上篇】
  6. java图片颜色取反色,照片底片模式
  7. asp 读取 json 数据
  8. 东方元鼎付淼:移动互联网创业门槛已降低
  9. 鸿蒙系统就是个垃圾系统,华为鸿蒙系统是什么?鸿蒙系统和安卓系统有什么区别?...
  10. 【PX4-AutoPilot教程-1】PX4源码文件目录架构分析
  11. 如何理解代码覆盖率?
  12. Android开发之播放音频
  13. 关于 Safari 无法下载 pdf 文件的问题
  14. Windows下的多桌面管理器
  15. [转]解密铁路12306手机客户端的开发技术
  16. HPB钱包助记词生成和备份
  17. 完全卸载360安全卫士方法
  18. 凡是过去,皆为序章(What‘s past is prologue)
  19. 面试突击37:线程安全问题的解决方案有哪些?
  20. Rtthread学习笔记(二十)RT-Thread使用Esp8266,连接远端服务器IP端口发送数据

热门文章

  1. 【Java 8 新特性】Java 8 Collectors:joining()使用示例
  2. python ppt转图片_ppt一键转图片和pdf
  3. [机器学习] 树模型(xgboost,lightgbm)特征重要性原理总结
  4. java接收任意键继续_正确实现“按任意键继续”功能
  5. 时间同步装置(时钟系统)工作模式介绍
  6. (十一)java.io.File学习进阶及separator、pathSeparator分隔符简介
  7. 谈谈对MVVM的理解
  8. 十几岁的娃娃,下手咋这么狠
  9. Unity3D空战游戏模板 Air Warfare
  10. 自控力读书笔记 第四章 容忍罪恶: 为何善行之后会有恶行