=Text.TrimStart([Column1], "0")
在查询编辑器中,在Transform > 分割列 > 按分隔符
下,您可以按分隔符和一些额外的设置拆分列。在您的情况下,您可以使用不同的分隔符多次执行此操作。您还可以选择需要哪个部分以及要删除哪个部分。
您还可以多次组合这两种操作。
使用Text.PositionOfAny、Text.Range和变量是可能的。您需要创建一个新的计算列,并使用以下代码:
因此,len、position_special和position_n都是变量
len - 获取文本长度以获取后面的子字符串
position_special = Text.PositionOfAny([Column1], {"-", "_"}, Occurrence.Last)
position_n = position_special + 1
只需将起始位置的字符串加1即可。
return_value = if position_special <> -1 then Text.Range([Column1], position_n , (len - position_n)) else Text.TrimStart([Column1], "0")
这个部分是IF/THEN/ELSE部分,所以它检查是否有一个特殊字符,不等于-1,然后将获取范围内的文本,如果没有,则应该找到修剪前导“0”。计算列的完整代码如下:
let
len = Text.Length([Column1]),
position_special = Text.PositionOfAny([Column1], {"-", "_"}, Occurrence.Last),
position_n = position_special + 1,
return_value = if position_special <> -1 then Text.Range([Column1], position_n , (len - position_n)) else Text.TrimStart([Column1], "0")
in
return_value
希望能有所帮助。可能需要整理一下,但应该可以得到您想要的结果。