這篇博文提到了利用Splitter.SplitTextByDelimiter()“優(yōu)雅”地將列拆分成任意多列并逆透視表格的方法。
這使我想起了我在工作中經(jīng)常遇到的一種情形:需要將下圖中的組織機(jī)構(gòu)拆分成多列,而究竟該拆成多少列取決于組織機(jī)構(gòu)的層級。
organizations_tobe_splitted.png
能不能用同樣的思路進(jìn)行拆分呢?
試驗(yàn)之后,驀然發(fā)現(xiàn),完全沒必要這么麻煩。直接一行代碼就搞定了:
Table.SplitColumn(刪除的副本, "組織機(jī)構(gòu)", Splitter.SplitTextByDelimiter("-->", QuoteStyle.Csv))
原因在于這些組織機(jī)構(gòu)有層級,分列的目的也是便于對不同組織層級進(jìn)行分析,而不是為了將每一層級的組織機(jī)構(gòu)生成一行記錄。
換句話說,實(shí)現(xiàn)同樣的結(jié)果可能有無數(shù)種方法和工具供我們選擇,我們需要找到解決這個(gè)問題的最優(yōu)方法。有時(shí)候最優(yōu)方法并不會自己跑出來,只有通過不斷試驗(yàn)和摸索,才會找到。