Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
junior_ehlke
Contributor III

Vincular dados no Script

Bom dia, em meu projeto eu tenho uma tabela com as filiais, então cada filial tem um número (001,002,003,004) e assim por diante,

a questão é que a filial 019 e a filial 400 são no mesmo prédio portanto eu tenho que unificar as duas em meus calculos, estou usando este scritp nas tabelas fato:

if  (id_unidade='201','001',

  if(id_unidade='019','400',

  if(id_unidade='107','094',

  if(id_unidade='008','108',

  if(id_unidade='011','092',

  if(id_unidade='013','093',

  if(id_unidade='900','901',

  if(id_unidade='401','190',

  if(id_unidade='402','191',

  if(id_unidade='702','601',

  if(id_unidade='703','602',

  if(id_unidade='704','603',

  if(id_unidade='092','071',

  if(id_unidade='770','700',

  if(id_unidade='018','700',

  if(id_unidade='600','701',

  if(id_unidade='660','701',id_unidade))))))))))))))))) as id_unidade

porém todos as tabelas que tenham id_unidade eu preciso colocar este codigo. Esta correto fazer assim ou tem alguma coisa mais facil? gostaria de tratar no script ou mesmo na criação do arquivo .QVD. Alguma sugestão para eu melhorar este codigo?

Tags (1)
1 Solution

Accepted Solutions

Re: Vincular dados no Script

Verifique a função MAPPING LOAD, ela cria um tabela de de/para conforme o Regério informou.

Mapping LOAD é uma tabela que fica na memória do QLikView durante a carga e serve para realizar um de/para. Essa tabela deve ter duas colunas, sendo a primeira coluna "de" e a segunda coluna o "para"

Depara:

Mapping LOAD * INLINE [

x, y

1, 2

2, 3

3, 4

];

Depois, para utilizar essa tabela de de/para, basta utilizar a função APPLYMAP ou Mapsubstring.

APPLYMAP o valor precisa ser idêntico a sequencia de caractere informado no mapa

Mapsubstring o valor precisa conter a sequencia de caractere informado no mapa

LOAD

APPLYMAP( 'Depara', COLUNA) as COLUNA

Mapsubstring( 'Depara', COLUNA2) as COLUNA2

FROM x.qvd;

10 Replies
rogerioqv
Contributor II

Re: Vincular dados no Script

Hamilton,

Eu utilizaria uma tabela inline, onde teria o DE-->PARA... ANTIGAFILIAL / NOVAFILIAL.

Creio que assim não necessites utilizar o script para todas as tabelas... farias a vinculação a eles e utilizaria o campo NOVAFILIAL para agrupamento.

Abraços.

junior_ehlke
Contributor III

Re: Vincular dados no Script

ótimo, isto na criação do arquivo QVD mesmo? ou no próprio script?

rogerioqv
Contributor II

Re: Vincular dados no Script

Hamilton,

Em qualquer um dos dois, desde que vc faça a modelagem no script do documento final.

Abraços.

junior_ehlke
Contributor III

Re: Vincular dados no Script

Obrigado, vou testar.

Re: Vincular dados no Script

Verifique a função MAPPING LOAD, ela cria um tabela de de/para conforme o Regério informou.

Mapping LOAD é uma tabela que fica na memória do QLikView durante a carga e serve para realizar um de/para. Essa tabela deve ter duas colunas, sendo a primeira coluna "de" e a segunda coluna o "para"

Depara:

Mapping LOAD * INLINE [

x, y

1, 2

2, 3

3, 4

];

Depois, para utilizar essa tabela de de/para, basta utilizar a função APPLYMAP ou Mapsubstring.

APPLYMAP o valor precisa ser idêntico a sequencia de caractere informado no mapa

Mapsubstring o valor precisa conter a sequencia de caractere informado no mapa

LOAD

APPLYMAP( 'Depara', COLUNA) as COLUNA

Mapsubstring( 'Depara', COLUNA2) as COLUNA2

FROM x.qvd;

junior_ehlke
Contributor III

Re: Vincular dados no Script

Boa tarde Yuri, obrigado pela dica, testei aqui e funcionou em um arquivo teste,

fiz um teste com dois campos, Unidade e Valor, funcionou perfeito porém o código fixa extenso da mesma forma que os IFs.

é que assim, meu projeto esta com 8 tabelas e todas tem o id_unidade, de qualquer forma eu vou ter que colocar esse script em todas correto? para que sejam vinculados todos os valores. como eu disse, o IF funcionou mas nao parece correto.

Re: Vincular dados no Script

Única coisa que você precisa repetir é o APPLYMAP para todas as colunas que precisa fazer o de/para

junior_ehlke
Contributor III

Re: Vincular dados no Script

Então, fiz um teste aqui e não funcionou como eu queria, na verdade vou dar uma estudada nela, pode ser bem útil, Obrigado.

junior_ehlke
Contributor III

Re: Vincular dados no Script

Bom dia, obrigado Yuri, o código funcionou perfeitamente em meu projeto, na semana passada eu não tinha entendido muito bem, facilitou consideravelmente meu trabalho. Abraço.