powerbi使用函数将“4小时5分”样式的文本格式换算成秒
时间: 2024-09-15 15:02:53 浏览: 37
在Power BI中,你可以使用M语言编写自定义函数或表达式来将特定格式的文本(如“4小时5分”)转换成秒数。一种常见的方法是使用字符串分割和转换函数将小时和分钟分别转换为秒,然后进行累加。以下是一个示例步骤:
1. 创建自定义列或在"高级编辑器"中编写M语言代码。
2. 使用`Text.Split`函数将文本按空格分割为小时和分钟。
3. 分别将小时和分钟转换为数字,然后乘以3600(秒/小时)和60(秒/分钟)以转换为秒。
4. 将转换后的小时和分钟秒数相加。
示例代码如下:
```m
// 假设你有一个名为"Duration"的列,其中包含文本格式的持续时间,如"4小时5分"
// 你想要创建一个新的列"Seconds"来表示相应的秒数
let
// 分割文本,获取小时和分钟部分
hoursMinutes = Text.Split([Duration], "小时"),
hours = try Number.FromText(hoursMinutes{0}) * 3600 otherwise 0, // 转换小时为秒
minutes = try Number.FromText(hoursMinutes{1}, "zh-CN") * 60 otherwise 0, // 转换分钟为秒,注意格式可能需要指定为中文
totalSeconds = hours + minutes // 累加秒数
in
totalSeconds
```
这段代码中,我们假设"Duration"列包含文本格式的时间数据。我们首先分割这个字符串获取小时和分钟部分,然后将它们分别转换成数字并乘以相应的秒数单位(3600秒/小时和60秒/分钟)。最后,我们将小时和分钟转换得到的秒数累加起来。
注意:这段代码假设小时和分钟之间只有一个空格,并且使用的是中文数字格式(例如,“4小时5分”而非“4 hours 5 mins”)。如果数据格式不同,可能需要调整字符串分割和数字转换的逻辑。
阅读全文