1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > BI神器Power Query(14)-- PQ制作时间维度表(3)

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

时间:2020-06-27 18:24:35

相关推荐

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

在上一篇博客中,根据日期序列新建了文本日期列,如下图所示。

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

选中“DataText”列(前三列任何一列都可以),依次单击【添加列】选项卡=>【重复列】,将复制指定列添加新列,新列的数据类型与指定列相同,这里是文本类型。

在列标题上右击,在弹出的快捷菜单中选择【重命名】命令,修改列名为“DataInt”。双击列标题也可以进入编辑状态进行修改,和Excel单元格操作相同,如下图所示。

列标题上右击,在弹出的快捷菜单中选择【更改类型】=>【整数】命令,修改数据类型,如下图所示。

结果如下图所示,列名左侧有“123”标识。

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

letFirstDate = #date(,1,1),LastDate = #date(,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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。