本文主要是介绍BI神器Power Query(14)-- PQ制作时间维度表(3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在上一篇博客中,根据日期序列新建了文本日期列,如下图所示。
接下来将在时间维度表新建整数型的日期列,使用上一篇博客中添加自定义列的方法可以实现这个要求,本文将使用不同的操作方法来实现。
选中“DataText”列(前三列任何一列都可以),依次单击【添加列】选项卡=>【重复列】,将复制指定列添加新列,新列的数据类型与指定列相同,这里是文本类型。
在列标题上右击,在弹出的快捷菜单中选择【重命名】命令,修改列名为“DataInt”。双击列标题也可以进入编辑状态进行修改,和Excel单元格操作相同,如下图所示。
列标题上右击,在弹出的快捷菜单中选择【更改类型】=>【整数】命令,修改数据类型,如下图所示。
结果如下图所示,列名左侧有“123”标识。
在【高级编辑器】中查看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", "DateText - 复制"),重命名的列 = Table.RenameColumns(复制的列,{{"DateText - 复制", "DateInt"}}),更改的类型1 = Table.TransformColumnTypes(重命名的列,{{"DateInt", Int64.Type}})
in更改的类型1
其中第9行代码复制列,第10行代码修改列名,其实这两行代码可以合并为一行,在DuplicateColumn
函数中直接指定新列名称"DateInt",如下所示。
复制的列 = Table.DuplicateColumn(已添加自定义, "DateText", "DateInt")
第11行代码修改数据类型,对于整数类型转换无法整合到DuplicateColumn
函数中(路过的高手如果知道如何实现,请留言赐教,谢谢)。
如果使用DuplicateColumn
函数中新建一个文本类型的列,可以使用单行代码实现同时指定列名和数据类型,代码如下。
Table.DuplicateColumn(已添加自定义, "DateText", "DateDEMO", type text)
新建数据列如下图所示。
未完待续 … …
相关文章链接如下:
PQ制作时间维度表(1)
PQ制作时间维度表(2)
PQ制作时间维度表(3)
PQ制作时间维度表(4)
PQ制作时间维度表(5)
PQ制作时间维度表(6)
PQ制作时间维度表(7)
这篇关于BI神器Power Query(14)-- PQ制作时间维度表(3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!