pick – função de script e gráfico
A função de escolha retorna a enésima expressão na lista.
Sintaxe:
pick(n, expr1[ , expr2,...exprN])
Tipo de dados de retorno: dual
Argumento | Descrição |
---|---|
n | né um inteiro entre 1 e N. |
Exemplo | Resultado |
---|---|
pick( N, 'A','B',4, 6 ) | Retorna B se N =. 2 Retorna 4 se N =. 3 |
Exemplo – Atribuir rótulos a produtos usando pick
Visão geral
Um conjunto de dados contém dados de produtos.Você deseja atribuir rótulos de categoria a produtos com base no código de categoria.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Os campos a seguir na tabela de dados:
ProductID
ProductName
CategoryCode
Script de carregamento
Example:
LOAD * INLINE [
ProductID, ProductName, CategoryCode
1, "Laptop", 1
2, "Headphones", 2
3, "Printer", 3
4, "Smartphone", 1
5, "Tablet", 1
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
ProductID
ProductName
CategoryCode
Crie a seguinte medida:
=Pick(CategoryCode, 'Electronics', 'Accessories', 'Office Equipment'), para retornar uma expressão válida da lista.
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 |
A função pick retorna uma lista de valores associados ao índice correspondente do campo numérico CategoryCode. Por exemplo, o rótulo Electronics é o primeiro parâmetro da função e é retornado para todos os produtos com o CategoryCode de 1.
Exemplo – Atribuir rótulos de região usando pick
Visão geral
Um conjunto de dados contém códigos de país e região.Você deseja atribuir rótulos de região a países com base no código de região.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Os campos a seguir na tabela de dados:
Country
RegionCode
Script de carregamento
Example:
LOAD * INLINE [
Country, RegionCode
"USA", 1
"Canada", 1
"Germany", 2
"Japan", 3
"Australia", 4
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
Country
RegionCode
Crie a seguinte medida:
=Pick(RegionCode, 'North America', 'Europe', 'Asia', 'Australia'), para retornar um item válido da lista.
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 |
A função pick retorna uma lista de valores associados ao índice correspondente do campo numérico RegionCode. Por exemplo, o rótulo North America é o primeiro parâmetro da função e é retornado para todos os países com o RegionCode de 1.
Exemplo – Combinando pick e match para traduzir listas de correspondências de texto alternativo
Visão geral
Este cenário avançado descreve como usar efetivamente uma combinação das funções pick e match para mapear correspondências de texto em linha. Em termos de agendamento, isso tem uma finalidade semelhante a um comando Case. O cenário explora essa funcionalidade mapeando nomes de países para nomes equivalentes a regiões e, ao mesmo tempo, fornece um valor padrão Region para qualquer nome Country não mapeado anteriormente.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Countries.
A tabela de dados tem um campo chamado Country.
Script de carregamento
Countries:
LOAD * INLINE [
Country
"USA"
"Canada"
"Germany"
"Japan"
"Australia"
"South Africa"
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
Country
RegionCode
Crie a seguinte medida:
=Pick(1+match(Country,'USA','Canada','Germany','Japan','Australia'), 'Unmapped', 'North America', 'North America', 'Europe', 'Asia', 'Australia')
A função match retornará a correspondência de índice das alternativas fornecidas, separadas por vírgulas, começando por 1 = ‘USA’, 2 = ‘Canada’ e assim por diante. Se não for encontrada correspondência, será retornado zero. Esse resultado é então incrementado por 1 e alimentado na função pick, de modo que 1 = default value se nenhuma correspondência for encontrada, 2 = ‘USA’, 3 = ‘Canada’ e assim por diante.
Essa combinação de chamadas de função Match e Pick decodificará os nomes Country correspondentes em um nome Region equivalente. Todos os valores não mapeados de Country retornarão o valor padrão de 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 |