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:
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:
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.
Tabela de resultados
| 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 |