我正在尝试从 Excel 中的另一个数据源查询数据,并且在任何大于24:00:00.
Expression.Error:我们无法解析 Duration 文字。详细信息:51:33:08
我如何正确地拥有 excel 解析持续时间,例如128:22:13持续时间?
编辑:
数据目前是文本HH:MM:SS格式。我正在使用 Excel 查询工具从外部源导入数据。没有代码,我不想转换工作表中的单元格。这些转换是查询工具的一部分:
我们有一个Duration.FromText库函数,但记录在案的只允许 0 到 23 小时。当您将类型从文本更改为持续时间时,此功能将在后台应用。
幸运的是#duration构造函数没有这样的限制,所以这里有一个简单的小解析函数你可以使用。
let
DurationFromYourText = (text as text) as duration => let
Split = Text.Split(text, ":"),
AsNumbers = List.Transform(Split, Number.FromText),
Duration = #duration(0, AsNumbers{0}, AsNumbers{1}, AsNumbers{2})
in
Duration,
Invoked = DurationFromYourText("128:22:13")
in
Invoked
Run Code Online (Sandbox Code Playgroud)
之后,您可以将小时数列除以 24 以获得天数,并模 24 以获得剩余的小时数。对于 mod,您可能需要更改一些 Power Query 公式语言 M https://msdn.microsoft.com/en-us/library/mt253344.aspx