Power BI轻松进行时间戳转换
最近遇到几位星友问到,如何用PowerBI将时间戳转换为正常时间的问题,这里介绍两种常用的方法,帮你轻松转换。
时间戳是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数,它的提出主要是为用户提供一份电子证据, 以证明业务的准确生成时间,广泛运用于知识产权保护、 合同签字、 金融交易等方面。
它一般由13位数字组成,返回毫秒级时间,但日常应用一般不会达到这个精度,PowerBI也显示不到毫秒,而精确到秒的时间戳是平时最常用的,前10位就是秒数。
这里就以10位时间戳为例,来看看如何用PowerBI,将10位的时间戳转换为正常的日期/时间格式(北京时间),如果你遇到13位的时间戳,直接先截取前10位,再用本文方法即可。
PowerQuery方法
新建空查询,输入以下M代码,创建自定义函数:
= (Timestamp)=>
let
datetime= (#datetime(1970,1,1,8,0,0) + #duration(0,0,0,Timestamp))
in
datetime
为了便于理解,可以将此自定义函数重命名为“时间戳转换”,然后调用该自定义函数,即可完成转换。
DAX方法
新建计算列,输入以下DAX表达式,即可完成转换,如下图:
结果完全一样。
上述表达式的逻辑都是将时间戳加上1970年1月1日之前的秒数,转换为1900年1月1日至今的累计秒数,然后正常显示为日期/时间格式即可。
赞 (0)