最近一位学员问了一个问题:对每一行内容,只提取开头的数字,比如下图中第1行的“123”,第2行中的“345”……
这个问题本身并不复杂,方法也很多,比如:
1、通过使用非数字内容进行拆分,然后提取拆分后的第1项内容:
代码语言:javascript复制List.First( // 取拆分后的第1项内容
Text.SplitAny( //对文本按非数字内容进行拆分
[#"从数字到非数字 - 复制"],
Text.Remove([#"从数字到非数字 - 复制"],{"0".."9"})
)
)
2、直接操作从数字到非数字的拆分列方法
操作后,会直接得到拆分成多列的结果,然后,删除不必要的列:
但实际上,如果我们观察一下拆分列生成的步骤公式,这个问题就会变得非常简单:
从步骤公式中,我们可以看到,拆分列函数最后的参数即为输出的结果,其中能拆成多少列,就输出多少列,并做了重命名。
此时,如果我们只想要拆分后结果的第1项,我们只要保留1项即可,而且还可以改列名:
通过这种方法,可以很方便地得到所需的结果,而不需要再进行删除列或写任何公式。
大家在使用Power Query的过程中,学会多观察操作步骤生成的公式,这样不仅有助于理解操作步骤背后的公式、函数和原理,往往还能发现一些有用的使用技巧。