pick - 指令碼與圖表函數
pick 函數會傳回清單中的第 n 個運算式。
語法:
pick(n, expr1[ , expr2,...exprN])
傳回的資料類型: 雙值
範例:圖表運算式pick( N, 'A','B',4, 6
) | 若 N = 2,則傳回 B 若 N = 3,則傳回 4 |
範例 - 使用 pick 向產品指派標籤
概述
資料集包含產品資料。您想要根據類別代碼向產品指派類別標籤。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
ProductID
ProductName
CategoryCode
載入指令碼
Example:
LOAD * INLINE [
ProductID, ProductName, CategoryCode
1, "Laptop", 1
2, "Headphones", 2
3, "Printer", 3
4, "Smartphone", 1
5, "Tablet", 1
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
ProductID
ProductName
CategoryCode
建立下列量值:
結果表格 ProductID | ProductName | CategoryCode | Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment') |
---|
1 | Laptop | 1 | Electronics |
2 | Headphone | 2 | Accessories |
3 | Printer | 3 | Office Equipment |
4 | Smartphone | 1 | Electronics |
5 | Tablet | 1 | Electronics |
pick 函數從 CategoryCode 數字欄位傳回與對應索引相關的值清單。例如,標籤 Electronics 是函數中的第一個參數,並傳回所有含有 1 之 CategoryCode 的產品。
範例 - 使用 pick 指派區域標籤
概述
資料集包含國家和區域代碼。您想要根據區域代碼向國家指派區域標籤。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
載入指令碼
Example:
LOAD * INLINE [
Country, RegionCode
"USA", 1
"Canada", 1
"Germany", 2
"Japan", 3
"Australia", 4
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列量值:
=Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia'),用來從清單中傳回有效的項目。
結果表格 Country | RegionCode | Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia') |
---|
Australia | 4 | Australia |
Canada | 1 | North America |
Germany | 2 | Europe |
Japan | 3 | Asia |
USA | 1 | North America |
pick 函數從 RegionCode 數字欄位傳回與對應索引相關的值清單。例如,標籤 North America 是函數中的第一個參數,並傳回所有含有 1 之 RegionCode 的國家。
範例 - 合併 pick 和 match,以翻譯替代文字相符內容的清單
概述
此進階使用情境描述如何有效使用 pick 和 match 函數的組合,以對應內嵌文字比對。就程式設計而言,這與 Case 陳述式的用途類似。該使用情境將國家名稱對應到地區同等名稱,以探索此功能,同時為任何先前未對應的 Country 名稱提供預設 Region 值。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入指令碼
Countries:
LOAD * INLINE [
Country
"USA"
"Canada"
"Germany"
"Japan"
"Australia"
"South Africa"
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列量值:
=Pick(1+match(Country,'USA','Canada','Germany','Japan','Australia'), 'Unmapped', 'North America', 'North America', 'Europe', 'Asia', 'Australia')
match 函數將傳回所提供的以逗號分隔的替代項目相符索引,從 1 = ‘USA’ 開始,接著 2 = ‘Canada’,以此類推。如果找不到符合的值,則會傳回零。然後將此結果增加 1 並輸入到 pick 函數中,如果找不到相符內容,則 1 = default value、2 = ‘USA’、3 = ‘Canada’,以此類推。
然後,Match 和 Pick 函數呼叫的組合會將符合的 Country 名稱解碼為同等的 Region 名稱。任何未對應的 Country 值將傳回預設的 Region 值 Unmapped。
結果表格 Country | Pick(1+match(Country,'USA','Canada','Germany','Japan','Australia'), 'Unmapped', 'North America', 'North America', 'Europe', 'Asia', 'Australia') |
---|
Australia | Australia |
Canada | North America |
Germany | Europe |
Japan | Asia |
South Africa | Unmapped |
USA | North America |