Table.SplitColumn(table astable, sourceColumn astext,splitter asfunction,optionalcolumnNamesOrNumber asany,optionaldefault asany,optionalextraColumns asany) astable
參數(shù)1代表需要操作的表;參數(shù)2代表需要分割的文本字段,是一個文本格式;參數(shù)3是分割操作的函數(shù),可用的分割函數(shù)有9個;參數(shù)4是拆分后生成的列數(shù)或者字段名稱的列表;參數(shù)5是用于替換拆分后為空值的值;參數(shù)6是展開后的類型,可以為列表。
參數(shù)3的操作函數(shù)主要有以下幾個。
第3參數(shù)分析。
1.?????Splitter.SplitTextByEachDelimiter
Splitter.SplitTextByEachDelimiter(delimiters as?list,?optionalquoteStyle as?nullableQuoteStyle.Type,?optionalstartAtEnd as?nullablelogical) as?function
返回按依次每個指定分隔符處將文本拆分為文本列表的函數(shù)。第1參數(shù)是分隔符列表格式;第2參數(shù)是對文本類型里csv"的處理,0代表不處理,1代表忽略處理(默認);第3參數(shù)是在第2參數(shù)為1的時候?qū)ζ鹗己徒Y(jié)束的判斷,是一個邏輯值,默認為false。
需要注意的是他和Splitter.SplitTextByAnyDelimiter的區(qū)別。
例:
2.?????Splitter.SplitTextByLengths
Splitter.SplitTextByLengths(lengths as?list,?optionalstartAtEnd as?nullablelogical) as?function
返回按每個指定的長度將文本拆分成列表的函數(shù)。參數(shù)1是一個長度列表;參數(shù)2是做起始和結(jié)束的判斷。
例:
Table.SplitColumn(更改的類型,"學(xué)科",Splitter.SplitTextByLengths({1}))=
Table.SplitColumn(更改的類型,"學(xué)科",Splitter.SplitTextByLengths({1,2,4}))=
解釋:第1參數(shù)是根據(jù)字符數(shù)來進行的分割,第1參數(shù)必須大于等于0。
Table.SplitColumn(源,"學(xué)科",Splitter.SplitTextByLengths({1,2,4},true))=
解釋:第2參數(shù)默認是false,如果為true,則做反向判斷分割,也就是先4,中2,后1的方式來進行處理。
3.?????Splitter.SplitTextByPositions
Splitter.SplitTextByPositions(positions as?list,?optionalstartAtEnd as?nullablelogical) as?fuction
返回一個函數(shù),第1參數(shù)是位置列表格式;第2參數(shù)是做起始和結(jié)束的判斷,默認是false。注意位置起始值為0。
例:
Table.SplitColumn(源,"學(xué)科",Splitter.SplitTextByPositions({0,2,3}))=
Table.SplitColumn(源,"學(xué)科",Splitter.SplitTextByPositions({1,2,4}))=
解釋:第1個公式是從0的位置開始拆分,第2個公式是從1的位置開始拆分,如果是從1開始的話,則在拆分位前的數(shù)據(jù)則不會顯示。同時請注意這個函數(shù)和之前根據(jù)字符長度拆分不一樣的地方,長度拆分如果要完整顯示拆分數(shù)據(jù),則列表內(nèi)的數(shù)字之和必須大于等于字符數(shù),而根據(jù)位置拆分則不需要。
Table.SplitColumn(源,"學(xué)科",Splitter.SplitTextByPositions({0,2},true))=
Table.SplitColumn(源,"學(xué)科",Splitter.SplitTextByPositions({1,3},true))=
解釋:因為第2參數(shù)是true,所以判斷條件也反過來做判斷。
如果有用,動動你的小手進行轉(zhuǎn)發(fā)。