You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Power BI中将Unix时间戳转换为日期时间报错求助

解决Power BI中时间戳转日期时间的问题

早上好呀!我来帮你捋捋这个时间戳转换的问题~

首先,先拆解下你遇到的问题:你用的公式是基于1957年1月1日的基准来计算,但报错大概率和时间戳的单位或者数据类型有关,下面给你几种针对性的解决思路:

先排查基础问题

  • 确认[Timestamp]列的数据类型:打开Power Query编辑器,选中该列,检查是否是「整数」或「十进制数」类型。如果是文本类型,先转成数值:
    = Table.TransformColumns(源, {{"Timestamp", each Number.FromText(_), type number}})
    
  • 确认时间戳的基准和单位:你的公式用了1957年作为起始点,这不是标准Unix时间戳的基准(标准是1970-01-01),如果是业务系统自定义的基准,那要确认时间戳是秒级还是毫秒级——很多系统会用毫秒作为时间戳单位,直接加秒数就会导致日期异常甚至报错。

针对性解决方案

如果你确定时间戳是以1957-01-01为基准

  • 如果是秒级时间戳,确保列是数值类型后,重新运行原公式;如果报错,试试除以1000转成秒(说明是毫秒级):
    #datetime(1957,1,1,0,0,0) + #duration(0,0,0,[Timestamp]/1000)
    

如果是误使用了非标准基准(实际是标准Unix时间戳)

  • 直接用Power BI内置的函数更省心,秒级时间戳用:
    DateTime.FromUnixTimeSeconds([Timestamp])
    
  • 毫秒级时间戳用:
    DateTime.FromUnixTimeMilliseconds([Timestamp])
    

额外排查技巧

如果还是报错,看看具体的错误提示(比如“无法将值转换为时间”),可以筛选出[Timestamp]列的异常值(比如负数、非数值内容),先清理这些脏数据再尝试转换。

内容的提问来源于stack exchange,提问作者Equinox

火山引擎 最新活动