Qlik Community

Qlik Brasil

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
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
Highlighted
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
Highlighted
Specialist
Specialist

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
Highlighted
MVP & Luminary
MVP & Luminary

     ApplyMap()

furtado@farolbi.com.br
Highlighted
MVP & Luminary
MVP & Luminary

Highlighted
Specialist
Specialist

Alessandro,

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

Obrigado

Agnaldo

Neves
Highlighted
Specialist
Specialist

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
Highlighted
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

Highlighted
Specialist
Specialist

  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
Highlighted
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
Highlighted
Creator
Creator

Na última linha

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

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

View solution in original post