Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Criar Faixa de Cod_REP no Load

Representantes:

LOAD

COD_REP

FROM (qvd);

Gostaria de inserir um faixa no Load acima, Mas não estou conseguindo

Exemplo abaixo:

Alguma dica.

Mais ou menos assim, mas está tudo errado

If([COD_REP]={'1,7,18'},1),

         'Antonio Carlos',

If([COD_REP]={'41,62,63,64'},2),

         'Marios Santos,

   )

     )

, COD_REP

)             as Faixa_Repr,

Exemplo no qvw anexo:

faixa 1,7,18 ,Antonio Carlos

faixa 41,62,63,64 ,Marios Santos

Ao selecionar a faixa ele apareça os nomes acima de exemplos, e filtre apenas o que estive na faixa.

Capturarx.PNG

Neves
1 Solution

Accepted Solutions
isaiasdd
Creator
Creator

Na última linha

if( match(COD_REP, 81), 'santos',)))

essa vírgula depois de 'santos', pode remover.

View solution in original post

10 Replies
Ribeiro
Specialist
Specialist
Author

Tentei assim funcionou

Mas preciso colocar, mas codigo no representante

if(cod_rep=7,201,214, 'santos',

Alguma dica.

COD_REP,

       

     If(COD_REP=1, 'Mario',

         If(COD_REP=7 , 'santos',

             If(COD_REP=82 , 'queiroz',

                 If(COD_REP=107 , 'mendes', )))) as Classification

    

FROM (qvd);

Neves
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

     ApplyMap()

furtado@farolbi.com.br
Ribeiro
Specialist
Specialist
Author

Alessandro,

Entendi. Mas não conseguir poderia me da um exemplo no meu script.

Obrigado

Agnaldo

Neves
Ribeiro
Specialist
Specialist
Author

Alguém sabe como eu coloco uma FAixa entre número no script abaixo.

Exemplo:

If(COD_REP=1,18,41,51, 'Mario',

Alguma dica....

COD_REP,

      

     If(COD_REP=1, 'Mario',

         If(COD_REP=7 , 'santos',

             If(COD_REP=82 , 'queiroz',

                 If(COD_REP=107 , 'mendes', )))) as Faixa

   

FROM (qvd);

Neves
isaiasdd
Creator
Creator

Agnaldo,

pode ser feito de duas maneiras:

1 - usando a função match() da seguinte maneira:

if( match(COD_REP, 1,18,41,51), 'Mario' ) as Representante

2 - Usando a função applymap().

MapRepresentantes:

MAPPING LOAD *

INLINE [

     COD_REP, Representante

     1, 'Mario'

     18, 'Mario'

     7, 'Santos'

     82, 'Queiroz'

];

Representantes:

LOAD

     COD_REP,

     applymap('MapRepresentantes', COD_REP) as Representante

FROM

Ribeiro
Specialist
Specialist
Author

  if( match(COD_REP, 1,92,109,129,183,229), 'carlos',

if( match(COD_REP, 223,224), marcos',

    if( match(COD_REP, 81), 'santos',))) as Representante 

onde estou errado,

Neves
Marcio_Campestrini
Specialist
Specialist

Agnaldo,

Conforme o afurtado‌, o ApplyMap é uma boa solução.

Você cria a tabela com as correspondências:

MAP_FAIXA_REP:

Mapping

Load * Inline [

     Chave, Valor

       1, Carlos

       92, Carlos

       81, Santos ];


E depois na carga:

ApplyMap('MAP_FAIXA_REP', <seu_campo>, 0)

      

Márcio Rodrigo Campestrini
isaiasdd
Creator
Creator

Na última linha

if( match(COD_REP, 81), 'santos',)))

essa vírgula depois de 'santos', pode remover.