在工作中,这样的日期时间表示方式,实在太常见了:
![94b43bf3eaabda86b5fa8b59741c6217.png](https://img-blog.csdnimg.cn/img_convert/94b43bf3eaabda86b5fa8b59741c6217.png)
可是,无论是在Excel里,还是Power Query里,都不能直接通过数据类型或格式的转换转为规范的日期:
![990e0ae833104650ff2827f0d7bcd2d5.png](https://img-blog.csdnimg.cn/img_convert/990e0ae833104650ff2827f0d7bcd2d5.png)
怎么办?
当然,这个问题很简单啊,将年、月、日、时、分、秒分拆出来,然后再合起来就搞定了……
不过,一想到要1拆6,真的很烦……那么,Power Query里是否能方便一点儿?因为这是将文本转换为时间,所以,我们可以查一下DateTime.FromText函数的说明:
![cd02f0d017099725123fa032896920e4.png](https://img-blog.csdnimg.cn/img_convert/cd02f0d017099725123fa032896920e4.png)
竟然,支持这种格式!
所以,这个问题就很简单了,只要拆两段(日期和时间)即可。
回到这个例子,我们要实现在原列上直接转换,可以先操作提取前8位数字:
![d2c249b11ea843ac7ae21812009420ce.png](https://img-blog.csdnimg.cn/img_convert/d2c249b11ea843ac7ae21812009420ce.png)
![988dcb9d98fb6a764e934cdda538ac46.png](https://img-blog.csdnimg.cn/img_convert/988dcb9d98fb6a764e934cdda538ac46.png)
此时,生成的步骤代码如下,其中调用了函数Text.Start,并且结果为文本类型:
![cbd4e0a796de33ba0ec382e7f8ebc46f.png](https://img-blog.csdnimg.cn/img_convert/cbd4e0a796de33ba0ec382e7f8ebc46f.png)
在此基础上,我们直接修改代码,加入取后面6位数字的函数Text.End,并将取出来的前8位和后6位用字母“T”连接起来,然后用DateTime.FromText(或者DateTime.From)函数即可实现转换:
就是这么简单了!加个T就搞定!
【近期热门合集/文章】
- 这6个极大提高PQ数据处理速度的案例,快看看是不是你的情况!
- 收藏!35篇PQ文章合集,速度下载全套材料!
- PQ小问题小技巧8个,第一个就很多人都遇到了!
- 光看不练假把式!学好PQ就要练练练(免费视频36集)
- 你可能从来没用透视表干过这件事,太有意思了!
- 别傻了!PQ都没学会,VBA都学不来,你能学好Python处理Excel?
Power新书榜第1 | 最适合入门打基础
当当京东超低折扣进行中
- 最通俗易懂Power系列视频 -
购书领60元视频券 or 直购视频送签名书
点亮“在看”,转发朋友圈
下载本文配套材料
(按文章发布日期确定对应文件)
https://share.weiyun.com/5YKFr4Z
点“阅读原文”看视频