Table.SplitColumn(table as table, sourceColumn as text,splitter as function,optional columnNamesOrNumber as any, optional default as any, optional extraColumns as any) as table
参数1代表需要操作的表;参数2代表需要分割的文本字段,是一个文本格式;参数3是分割操作的函数,可用的分割函数有9个;参数4是拆分后生成的列数或者字段名称的列表;参数5是用于替换拆分后为空值的值;参数6是展开后的类型,可以为列表。
(一) 第4参数运用(columnNamesOrNumberas any)
参数4是拆分后生成的列数或者字段名称的列表。可以为数字也可以为名称列表。
例:
Table.SplitColumn(源,"学科",Splitter.SplitTextByRepeatedLengths(1),1)=
解释:根据1个字符进行拆分,正常来说如果不指定拆分后生产的列数,应该会生成最大字符的列数,"新概念基础英语"一共有7个字符,也就会返回7个列表(但是如果全部作为默认的话,其结果仅显示第一个文本的字符数作为列数)。我们这里强制显示为1,则只返回拆分后的第1列。如果我们强制其显示7个列表则会是如下结果。同时如果这个数字7也可以用7个文本命名的字段列表名称组成。有几个文本名称字段则代表返回几个字段。
Table.SplitColumn(源,"学科",Splitter.SplitTextByRepeatedLengths(1),{"自1","自2","自3"})=
解释:因为名称列表只有3个,所以返回的也就是拆分后的3列。
(二) 第5参数运用(optionaldefault as any)
参数5是用于替换拆分后为空值的值,可以为任意值类型。此类型可以包括文本,数字,时间日期等格式,也可以是record,list,table格式,甚至可以是function格式。
例:
Table.SplitColumn(源,"学科",Splitter.SplitTextByRepeatedLengths(1),5, {1,2,3})=
解释:按1个字符拆分成5列,分割后产生的字段列里面为空值的,使用{1,2,3}列表进行替代。
(三) 第6参数运用(optionalextraColumns as any)
参数6是未展开数据的类型,可以为列表。
我们知道有时候我们分割的数据并未完全展示,则可以通过第6参数来处理这些未完全展示的类型。0=list,1=text。
例:
Table.SplitColumn(源,"学科",Splitter.SplitTextByRepeatedLengths(1),2,null,0)=
解释:因为我们通过1个字符进行分割拆分,正常来说会生成的字符是根据被拆分的文本字符来的,但是我们在选择第4参数的时候只显示2列,所以我们要对未显示出来的字符进行处理,参数6的0代表是以列表方式进行保存显示,因为拆分成2列,所以会显示1个字符 1个列表,如果只保存1列则只会显示1个列表。
Table.SplitColumn(源,"学科",Splitter.SplitTextByRepeatedLengths(1),2,null,1)=
解释:因为第6参数使用了1,代表剩余字符用文本显示,但是列表数有不够,所以产生了结果中的列数超过了预期,也就是剩余的字符数超过了可显示的列表数。因为只显示2列,只有语文这个字符能够正常显示,其余的则为错误。