如何在Power Query/Power BI中将小数格式分钟列转换为时间类型?
在Power Query/Power BI中将小数分钟转换为时间格式
列中是小数格式的分钟数据(例如61.1代表61分钟6秒),需要转换为
HH:MM:SS格式的时间(例如61.1分钟对应01:01:06)。
方法一:通过时长类型转换实现
- 打开Power Query编辑器,选中目标数据列。
- 点击添加列 → 自定义列,将公式里的
[你的列名]替换为实际列名,输入以下公式:
= #duration(0, 0, Number.IntegerFrom([你的列名]), Number.Round(([你的列名] - Number.IntegerFrom([你的列名])) * 60, 0))
公式说明:
Number.IntegerFrom([你的列名])提取小数的整数部分,即完整分钟数([你的列名] - Number.IntegerFrom([你的列名])) * 60计算小数部分对应的秒数,用Number.Round避免浮点精度误差#duration(0, 0, 分钟数, 秒数)构造标准时长格式
- 选中新增的自定义列,点击转换 → 数据类型 → 时间,即可得到
HH:MM:SS格式的时间值。
方法二:直接生成文本格式时间
如果仅需要文本形式的时间字符串,无需保留时间数据类型,可使用以下自定义列公式:
= let totalMinutes = [你的列名], hours = Number.IntegerFrom(totalMinutes / 60), remainingMinutes = Number.IntegerFrom(totalMinutes - hours * 60), seconds = Number.Round((totalMinutes - hours * 60 - remainingMinutes) * 60, 0) in Text.PadStart(Text.From(hours), 2, "0") & ":" & Text.PadStart(Text.From(remainingMinutes), 2, "0") & ":" & Text.PadStart(Text.From(seconds), 2, "0")
该公式会直接拆分出小时、分钟、秒,自动补前导零后拼接成HH:MM:SS格式的字符串。
内容的提问来源于stack exchange,提问作者a_neophyte
相关产品推荐
相关产品推荐

