Sempre que interajo com um usuário Qlikview, que você migrou do Excel recentemente, uma das perguntas mais comuns recebidas é:
“Como aplico PROCV () no Qlikview?”
Para começar, VLOOKUP é uma excelente forma de aderir 2 conjuntos de dados por meio de uma chave comum. É algo semelhante a junções em SQL.
Por que precisamos de uma função externa como VLOOKUP () no Qlikview?
Sempre que você importa um conjunto de dados externo para o Qlikview, encontra colunas comuns e se junta. Portanto, pessoas um tanto familiarizadas com o Qlikview podem se perguntar, Por que precisamos de uma função semelhante a VLOOKUP () em primeiro lugar?
A resposta é construir modelos de dados eficientes. Deixe-me explicar uma situação da vida real que enfrentei nos primeiros dias com o Qlikview. Algumas pessoas experientes me disseram que é sempre aconselhável minimizar o número de tabelas em seu modelo de dados. Em minha primeira tarefa como desenvolvedor Qlikview, Usei várias combinações e associações. Como resultado, meu modelo de dados se tornou muito complexo e difícil de entender. Não consegui identificar e corrigir erros facilmente (um exemplo de modelo de dados similar é mostrado em figura"Figura" é um termo usado em vários contextos, Da arte à anatomia. No campo artístico, refere-se à representação de formas humanas ou animais em esculturas e pinturas. Em anatomia, designa a forma e a estrutura do corpo. O que mais, em matemática, "figura" está relacionado a formas geométricas. Sua versatilidade o torna um conceito fundamental em várias disciplinas.... seguida como referência).
Como passei mais tempo com o Qlikview, Eu descobri o uso da tabela de mapeamento com a função Applymap () e descobriram que eram semelhantes a VLOOKUP (), onde recuperamos informações de um conjunto de dados de mapeamento para um conjunto de dados primário. Isso nos ajuda a simplificar significativamente nossos modelos de dados..

No Qlikview, as junções podem ser feitas usando Association, Join"JUNTE" é uma operação fundamental em bancos de dados que permite combinar registros de duas ou mais tabelas com base em uma relação lógica entre elas. Existem diferentes tipos de JOIN, como INNER JOIN, JUNÇÃO À ESQUERDA e JUNÇÃO DIREITA, cada um com suas próprias características e usos. Essa técnica é essencial para consultas complexas e informações mais relevantes e detalhadas de várias fontes de dados.... e Applymap. Applymap funciona de maneira semelhante a VLOOKUP, com alguns recursos adicionais. Por exemplo, se PROCV não encontrar uma correspondência na tabela de mapeamento, trazer de volta “#N / D”. Aplicar mapa, por outro lado, pode retornar strings / números / campos de uma tabela semelhante, no caso de não haver correspondências. Também podemos escrever um Applymap aninhado, para fazer referência a outra tabela de mapeamento, caso o valor não seja encontrado.
Como podemos definir a tabela de mapeamento?
A tabela de mapeamento deve ter duas colunas: o primeiro para a chave de pesquisa e o segundo para o valor de troca. As tabelas de mapeamento são armazenadas separadamente na memória e usadas apenas durante a execução do script. Depois de executar o script, são excluídos automaticamente.
A sintaxe para carregar uma tabela de mapeamento é semelhante à instrução LOAD com um prefixo adicional (MAPEAMENTO) antes de LOAD. A fonte da tabela de mapeamento pode ser uma base de dadosUm banco de dados é um conjunto organizado de informações que permite armazenar, Gerencie e recupere dados com eficiência. Usado em várias aplicações, De sistemas corporativos a plataformas online, Os bancos de dados podem ser relacionais ou não relacionais. O design adequado é fundamental para otimizar o desempenho e garantir a integridade das informações, facilitando assim a tomada de decisão informada em diferentes contextos...., uma folha de cálculo, uma tabela residente, uma tabela online ou um ficheiro QVD:
Designation_desc:
Mapping LOAD Designation_Code,
Designation_Desc
FROM
Data_set.xlsx
(ooxml, etiquetas incorporadas, tabela é Designation);
Função e sintaxe Applymap ():
A sintaxe é muito semelhante a uma função de pesquisa: aceita um valor como entrada, verifica se este valor existe numa tabela de mapeamento e devolve o valor correspondente da segunda coluna da tabela de mapeamento. A função Applymap é sempre usada após definir uma tabela de mapeamento:
Sintaxe:
aplicar mapa‘Mapname’, chave de busca [ , defaultexpr ] )
Onde:
nome do mapa é o nome da tabela de mapeamento, que já foi criado por meio de carga de mapeamento. Seu nome deve ser colocado entre aspas simples.
chave de busca é a expressão, cujo resultado deve ser mapeado.
defaultexpr é uma expressão opcional, para ser usado como o valor de mapeamento padrão, se a tabela de mapeamento não contém um valor correspondente para a chave de pesquisa. Se nenhum valor padrão for fornecido, o valor da pesquisa será retornado como está.

Como podemos usar o Applymap?
Vamos ver um palco, onde temos um conjunto de dados de funcionários com seu código de funcionário, código de designação, salário e estado civil. O que mais, você precisa da descrição da designação do funcionário e detalhes do bônus, que estão disponíveis em uma mesa diferente. Você deseja calcular o pagamento total de um funcionário e relatá-lo junto com sua designação (Pagamento total = Salário + Bônus). E SQL, você deve juntar as tabelas necessárias para obter informações adicionais. Em excel, podemos usar a função Vlookup () para fazer isso. Aqui, usaremos a função Applymap para mapear o BÔNUS e a DESIGNAÇÃO DESCRIÇÃO da respectiva tabela de mapeamento.

Observe que esse problema também pode ser resolvido por meio de associação ou associação. Vamos resolver isso usando o Applymap neste artigo.
Paso 1:
Em nosso script QlikView, primeiro vamos definir as tabelas de mapeamento:
- Bônus – atribui EmpCode ao bônus
- Designation_desc – atribui DesignationCode à descrição da designação
Bônus:
Mapping LOAD EmpCode,
Bonus
FROM Data_set.xlsx (ooxml, etiquetas incorporadas, tabela é Bonus);
Designation_desc:
Mapping LOAD DesignationCode,
Designation_Desc
FROM Data_set.xlsx (ooxml, etiquetas incorporadas, tabela é Designation);
Paso 2:
El segundo paso es utilizar esta información al leer la tabla de empleados:
Employee: LOAD EmpCode, Gênero, MaritalStatus, DesignationCode, Salário, ApplyMap('Bonus',EmpCode,0) as Bonus, ApplyMap('Designation_desc',DesignationCode,'Unknown') as designation_Desc FROM Data_set.xlsx (ooxml, etiquetas incorporadas, table is Main);
Agora, hemos unido los campos Descripción de bonificación y designación con el conjunto de datos del empleado, sin usar una combinación o asociación.
Beneficios de usar ApplyMap:
- Varias tablas en su modelo de datos no es algo bueno. Portanto, no desea una situación en la que tenga muchas búsquedas unidas a su tabla maestra. Esto se puede resolver creando una tabla de mapeo usando ApplyMap.
- La tabla de mapeo solo existe durante la carga, podemos llamarla como tabla temporal.
- ApplyMap tiene excelentes características como tercer parámetro (opcional). O terceiro parâmetro permite-lhe devolver algo mais útil, quando o valor de pesquisa não é encontrado na tabela de mapeamento. O terceiro parâmetro pode ser uma cadeia, número, campo do conjunto de dados base, mistura de cadeia e campo e uma referência mais importante a outra tabela de mapeamento usando a função Applymap aninhada..
- ApplyMap (‘Bónus’, EmpCode, 0): Quantidade de bónus dos mapas da tabela de cartografia (bónus). Se Empcode não existir na tabela de mapeamento, trazer de volta 0 (zero).
- ApplyMap (‘Designation_desc’, DesignationCode, ‘Desconhecido’): Descrição da designação do mapa da tabela de mapeamento (Designation_desc). Se DesignatonCode não existir na tabela de mapeamento, trazer de volta “Desconhecido”.
- ApplyMap (‘Bónus’, EmpCode, Salário * 0.05): Quantidade de bónus do mapa da tabela de cartografia (bónus). Se Empcode não existir na tabela de mapeamento, devolver o 5% do salário (o campo existe no conjunto de dados do empregado).
- ApplyMap (‘Designation_desc’, DesignationCode, ApplyMap (‘Bónus’, EmpCode, Salário * 0.05)): Descrição da designação do mapa da tabela de mapeamento (Designation_desc). Se DesignatonCode não existir na tabela de mapeamento, devolve Bónus da Tabela de Mapeamento (Bônus). Aqui utilizámos Applymap aninhado.


- Quando a tabela de mapeamento tem linhas duplicadas, JOIN resultará numa contagem dupla, enquanto ApplyMap trata da primeira instância da chave na tabela de mapeamento. Ignora automaticamente os valores duplicados subsequentes. Novamente, isto é semelhante a como funciona o VLOOKUP () no excel.
Pensamentos conclusivos:
Se necessitarmos de múltiplos campos da tabela de referência baseados num campo-chave, não podemos fazê-lo através do Applymap. Só podemos ter duas colunas numa tabela de mapeamento. Se formos obrigados a mapear 4 o 5 campos, então preferiria criar 4 o 5 tabelas de mapeamento. Porém, se precisarmos de unir mais do que isso, procurarei outras opções como Unir.
Este é um exemplo em que podemos melhorar os nossos modelos de dados e aumentar o desempenho dos painéis de controlo de qualidade. Tem alguma experiência ou estudos de caso que ilustrem o mesmo no Qlikview? Tem algum outro conselho para partilhar para melhorar os dashboards?
Compartilhe suas ideias por meio dos comentários abaixo..
Se você gostou do que acabou de ler e deseja continuar seu aprendizado sobre análise, inscreva-se em nossos e-mails, Siga-nos no Twitter ou como o nosso página do Facebook.



