一般情況下,我們如果需要添加列,可以一列一列根據需要進行添加,那如果我們需要根據固定的需求進行批量添加,那如何操作呢?
原始表
結果表
我們在添加的列的時候,有2個主要參數,一個是標題,一個則是添加列裡的內容,如果我們需要進行批量添加的話,這2個參數最好是作為變量進行循環填充。我們來看下如何操作吧。
首先我們要確定Table.AddColumn裡的2個參數,這2個參數應該是批量的,那代表著應該是列表的格式。
我們通過記錄的格式來作為參數組。
這樣就把參數組歸類在一起了,方便我們後面進行調用。之後就是進行循環操作了,我們來看下代碼公式。
List.Accumulate({0..列數},
源,
(x,y)=>Table.AddColumn(x,
參數組[標題]{y},
each 參數組[內容]{y}
)
)
這裡還需要解釋幾個內容:
1. 列數:需要增加多少列,就根據相應的填寫。
2. x代表的是表格,也就是增加列後的表格名稱,初始值是原始表格。
3. y代表的是第幾次的循環,0代表第一次,同時也是作為參數組裡的列對應值的位置。
4. each代表的是作為Table.AddColumn函數中所對應的。
這樣我們就很很容易的可以進行批量進行所需要添加的列。
需要注意的幾個地方:
1. 標題和內容必須匹配
也就是在參數組裡的2個參數必須項目數一樣(可以通過if語句在執行前進行判斷)
2. 如果需要在添加列裡使用公式,則函數參數設置成表類型。
因為在循環添加列時表是重複調用的,所以如果把表設置成函數的參數,方便後期循環調取使用。
我們以最簡單的 [價格]*1.1這個公式為例。如果需要在添加列中使用這個公式,那我們可以設定自定義函數 (x)=>x[價格]*1.1,這樣之後我們可以直接以表為參數進行替代。
此時我們的參數組裡的內容則是函數類型。
在循環公式裡,我們還需要注意兩點,
- 一個就是使用公式進行參數的調用。
- each這裡需要更改成其他方式書寫。
- 賦值常數和函數的書寫方式批量也不一樣
例如:
each 改成(a)=>格式,另外直接賦值常數和函數的書寫方式也不一樣,所以要進行判斷區分。當然你也可以統一寫成函數模式,直接調用。
例如:
如果要返回true,則可以直接使用公式(x)=>true,到時候直接使用參數調用的方式即可,不管參數是什麼,返回的都是true。
如果覺得有幫助,那麻煩您進行轉發,讓更多的人能夠提高自身的工作效率。
閱讀更多 數據技巧 的文章