You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power BI中将1-2400格式的整数时间转换为标准时间?

在Power BI中将1-2400格式的整数时间转换为标准时间

这类整数时间的规则是:前两位(补零后)代表小时,后两位代表分钟,比如1对应00:01,1230对应12:30,2400对应24:00(等价于次日00:00)。下面提供两种实用转换方法:

方法一:Power Query编辑器(数据预处理)

  1. 加载数据集后进入Power Query编辑器,选中目标时间列
  2. 点击「添加列」→「自定义列」,输入以下公式(替换[实际时间列名]为你数据集里的列名):
= let
    // 将整数转为文本并补前导零到4位,比如1变成"0001",2400变成"2400"
    TimeText = Text.PadStart(Text.From([实际时间列名]), 4, "0"),
    // 拆分小时和分钟部分
    HourPart = Text.Start(TimeText, 2),
    MinutePart = Text.End(TimeText, 2),
    // 处理2400的特殊情况,转为00:00
    AdjustedHour = if HourPart = "24" then "00" else HourPart,
    AdjustedMinute = if HourPart = "24" then "00" else MinutePart
in
    // 转成标准时间格式
    Time.FromText(AdjustedHour & ":" & AdjustedMinute)
  1. 点击「确定」后,可删除原时间列,新生成的列即为标准时间格式。

方法二:DAX计算列(报表建模阶段)

若不想修改原始数据,可返回报表视图新建计算列:

  1. 点击「建模」→「新建列」
  2. 输入以下DAX公式(替换[实际时间列名]为你的列名):
标准时间 = 
VAR TimeNum = [实际时间列名]
// 提取小时部分:整数除以100取整
VAR HourVal = INT(TimeNum / 100)
// 提取分钟部分:整数取余100
VAR MinuteVal = MOD(TimeNum, 100)
// 处理2400的情况,将小时转为0
VAR AdjustedHour = IF(HourVal = 24, 0, HourVal)
RETURN
    TIME(AdjustedHour, MinuteVal, 0)

额外提示

如果数据集存在无效值(比如大于2400、分钟部分超过59的数值),可添加错误处理:

  • Power Query中可修改最后一行:try Time.FromText(AdjustedHour & ":" & AdjustedMinute) otherwise null
  • DAX中可修改返回部分:IFERROR(TIME(AdjustedHour, MinuteVal, 0), BLANK())

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:22:52