pick — функция скриптa и диаграммы
Функция отбора возвращает выражение n в списке.
Синтаксис:
pick(n, expr1[ , expr2,...exprN])
Возвращаемые типы данных: двойное значение
| Аргумент | Описание |
|---|---|
| n | n представляет собой целое число от 1 до N. |
| Пример | Результат |
|---|---|
| pick( N, 'A','B',4, 6 ) | возвращает B, если N = 2 возвращает 4, если N = 3 |
Пример. Присвоение меток продуктам с помощью 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
Создайте следующую меру:
Используйте =Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment'), чтобы вернуть допустимое выражение из списка.
| 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 является первым параметром в функции и возвращается для всех продуктов, у которых CategoryCode равно 1.
Пример. Присвоение меток регионам с помощью pick
Обзор
Набор данных содержит коды стран и регионов. Необходимо назначить метки регионов странам на основе кода региона.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Следующие поля в таблице данных:
Country
RegionCode
Скрипт загрузки
Example:
LOAD * INLINE [
Country, RegionCode
"USA", 1
"Canada", 1
"Germany", 2
"Japan", 3
"Australia", 4
];Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
Country
RegionCode
Создайте следующую меру:
Используйте =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 является первым параметром в функции и возвращается для всех стран, у которых RegionCode равен 1.
Пример. Сопоставление списков совпадений в альтернативном тексте с помощью комбинации pick и match
Обзор
Этот расширенный сценарий описывает, как можно эффективно использовать комбинацию функций pick и match для сопоставления текстовых строк. В терминах программирования такой сценарий выполняет ту же функцию, что и оператор Case. Сценарий описывает эту функциональность, сопоставляя названия стран с региональными эквивалентами; по умолчанию возвращается значение Region для всех строк Country, у которых ранее не было сопоставлений.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных, называется Countries.
Одно поле в таблице данных называется Country.
Скрипт загрузки
Countries:
LOAD * INLINE [
Country
"USA"
"Canada"
"Germany"
"Japan"
"Australia"
"South Africa"
];Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
Country
RegionCode
Создайте следующую меру:
=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 |