Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Talend Cloud AWS EU Scheduled Outage: Starting Tues 26 May 21:00 CEST with expected completion Wed 27 May 01:00 CEST
cancel
Showing results for 
Search instead for 
Did you mean: 
dioneicm
Contributor III
Contributor III

Exemplo Mapping com sql

Boa Tarde!

Alguém poderia exemplificar o uso da função mapping com sql?

Obrigado!

1 Solution

Accepted Solutions
Not applicable

Ola a função mapping, independe da utilização do SQL ou Resident ou INLINE e etc.

Basicamente ele faz um "CASE" generico para as tabelas, primeiro é definido uma tabela de mapeamento por exemplo:

MAPEAMENTO_TESTE:

     MAPPING LOAD * INLINE [

          ID, NOVO_VALOR

          A, 10

          B, 20

          C, 30

];

Depois é aplicado este mapeamento na tabela desejada, ou seja, onde existir o valor "A" ou "B" ou "C" será substituido pelos valores "10" ou "20" ou "30".

LOAD

     ID,

     VALOR_ANTIGO,

     APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR_NOVO

INLINE [

     ID, VALOR_ANTIGO

     A, 1

     B, 2

     C, 3

];

Como parâmetro na função APPLYMAP o primeiro argumento é o nome da tabela de mapeamento (no exemplo MAPEAMENTO_TESTE) e o segundo corresponde ao valor a ser pesquisado nesta tabela de mapeamento (A ou B ou C) o retorno da função é a segunda coluna da tabela de mapeamento (100, 200, 300)

No caso do SQL seria a mesma idéia onde teria que existir uma tabela de mapeamento pré-definida e depois aplicar a função APPLYMAP no retorno do LOAD por exemplo

LOAD

     ID,

     APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR;

SQL

SELECT 'A' ID

FROM DUAL;

Abraços

View solution in original post

2 Replies
Not applicable

Ola a função mapping, independe da utilização do SQL ou Resident ou INLINE e etc.

Basicamente ele faz um "CASE" generico para as tabelas, primeiro é definido uma tabela de mapeamento por exemplo:

MAPEAMENTO_TESTE:

     MAPPING LOAD * INLINE [

          ID, NOVO_VALOR

          A, 10

          B, 20

          C, 30

];

Depois é aplicado este mapeamento na tabela desejada, ou seja, onde existir o valor "A" ou "B" ou "C" será substituido pelos valores "10" ou "20" ou "30".

LOAD

     ID,

     VALOR_ANTIGO,

     APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR_NOVO

INLINE [

     ID, VALOR_ANTIGO

     A, 1

     B, 2

     C, 3

];

Como parâmetro na função APPLYMAP o primeiro argumento é o nome da tabela de mapeamento (no exemplo MAPEAMENTO_TESTE) e o segundo corresponde ao valor a ser pesquisado nesta tabela de mapeamento (A ou B ou C) o retorno da função é a segunda coluna da tabela de mapeamento (100, 200, 300)

No caso do SQL seria a mesma idéia onde teria que existir uma tabela de mapeamento pré-definida e depois aplicar a função APPLYMAP no retorno do LOAD por exemplo

LOAD

     ID,

     APPLYMAP('MAPEAMENTO_TESTE', ID) AS VALOR;

SQL

SELECT 'A' ID

FROM DUAL;

Abraços

dioneicm
Contributor III
Contributor III
Author

Cara muito obrigado!

Ficou bem claro agora como funciona a função mapping