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: 
Anonymous
Not applicable

Filtro Tabela Dinâmica - Qlik Sense

Tenho uma tabela dinâmica que apresenta produtos que podem ter pedidos do tipo "Produção" e "Venda".

Precisaria que gerasse um filtro com o resultado das colunas da tabela. Ou seja, filtro "Produção" e filtro "Venda" e que

as dimensões fossem o resultado das colunas.

Exemplo: iria aparecer (0 e 1), assim poderia fazer várias combinações, como filtrar produtos que tem pedido de produção e que não tem pedido de Venda.

tabela dinamica.jpg

Labels (1)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Segue script....

Tmp:

LOAD * INLINE [

Produto    , Tipo_Pedido

122        ,Venda

155        ,Venda

455        ,Producao

277        ,Producao

888        ,Producao

888        ,Venda

999        ,Producao

999        ,Venda

333        ,Venda

]; 

TabelaFinal:

LOAD

    Produto,

    if(Tipo_Pedido='Producao','Sim','Não')                     as Tem_Producao2

Resident Tmp Where Tipo_Pedido = 'Producao';

join

LOAD

    Produto,

    if(Tipo_Pedido='Venda','Sim','Não')                        as Tem_Venda2

Resident Tmp Where Tipo_Pedido = 'Venda';

//

left join (TabelaFinal)

LOAD

    Produto,

    if(IsNull(Tem_Producao2),'Não',Tem_Producao2)              as Tem_Producao,

    if(IsNull(Tem_Venda2)   ,'Não',Tem_Venda2)                 as Tem_Venda

Resident TabelaFinal;

//

left join (TabelaFinal)

LOAD

    Produto,

    Tem_Producao,

    Tem_Venda,

    // Cria um unico filtro para as duas situacoes......

    if(Tem_Producao='Sim' and Tem_Venda='Sim','Com Producao e Venda',

    if(Tem_Producao='Sim' and Tem_Venda='Não','Com Producao e Sem Venda',

    if(Tem_Producao='Não' and Tem_Venda='Sim','Sem Producao e Com Venda',

    if(Tem_Producao='Não' and Tem_Venda='Não','Sem Producao e Sem Venda'))))    as Tem_Producao_e_Venda

Resident TabelaFinal;

//

Drop Fields Tem_Venda2,Tem_Producao2;

Drop Table Tmp;

furtado@farolbi.com.br

View solution in original post

8 Replies
maiconmello
Creator III
Creator III

Bom dia,

@PeterMathias Crie  o script esse filtro.

Load if(Producao = 1 and Venda = 1, 1, 0) as Filtro,  * from tabela ;

Acho que isso te ajuda.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Peter,

segue modelo Qlik Sense com exemplo.

TabelaDinamicaSense.gif

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Segue script....

LOAD

    Produto,

    Producao,

    Venda,

    // Cria um filtro para cada campo

    if(Producao=1,'Sim','Não')                                                     as Tem_Producao,

    if(Venda      =1,'Sim','Não')                                                    as Tem_Venda,

    // Cria um unico filtro para as duas situacoes......

    if(Producao=1 and Venda=1,'Com Producao e Venda',

    if(Producao=1 and Venda=0,'Com Producao e Sem Venda',

    if(Producao=0 and Venda=1,'Sem Producao e Com Venda',

    if(Producao=0 and Venda=0,'Sem Producao e Sem Venda'))))    as Tem_Producao_e_Venda;          

LOAD * INLINE [

Produto , Producao , Venda

122        , 0                ,1     

155        ,0                 ,1

445        ,1                 ,0

277        ,1                 ,0

888        ,1                 ,1

999        ,1                 ,1

333        ,0                 ,1

];

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Valeu Alessandro Furtado vou testar!

Anonymous
Not applicable
Author

Alessandro a ideia é exatamente esse seu exemplo.

Minha dificuldade  é que na minha tabela de dados não existe de fato duas colunas

"Producao" e "Venda", e sim apenas uma "Tipo_Pedido", como nesse exemplo:

LOAD * INLINE [

Produto , Tipo_Pedido

122        ,Venda

155        ,Venda

455        ,Producao

277        ,Producao

888        ,Producao

888        ,Venda

999        ,Producao

999        ,Venda

333        ,Venda

Então criei o filtro "Producao" e "Venda":

if(Tipo_Pedido='Producao','Sim','Não')                                         as Tem_Producao,

if(Tipo_Pedido='Venda','Sim','Não')                                            as Tem_Venda;

Só que não consigo criar o filtro único que você fez:

// Cria um unico filtro para as duas situacoes......

   // if(Producao=1 and Venda=1,'Com Producao e Venda',

  //  if(Producao=1 and Venda=0,'Com Producao e Sem Venda',

  //  if(Producao=0 and Venda=1,'Sem Producao e Com Venda',

  //  if(Producao=0 and Venda=0,'Sem Producao e Sem Venda'))))    as Tem_Producao_e_Venda;:

Pois quando escolho o filtro "Tem_Venda" automaticamente não tenho possibilidade de escolher pedidos de Producao

venda_producao.jpg

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Peter,  segue modelo

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Segue script....

Tmp:

LOAD * INLINE [

Produto    , Tipo_Pedido

122        ,Venda

155        ,Venda

455        ,Producao

277        ,Producao

888        ,Producao

888        ,Venda

999        ,Producao

999        ,Venda

333        ,Venda

]; 

TabelaFinal:

LOAD

    Produto,

    if(Tipo_Pedido='Producao','Sim','Não')                     as Tem_Producao2

Resident Tmp Where Tipo_Pedido = 'Producao';

join

LOAD

    Produto,

    if(Tipo_Pedido='Venda','Sim','Não')                        as Tem_Venda2

Resident Tmp Where Tipo_Pedido = 'Venda';

//

left join (TabelaFinal)

LOAD

    Produto,

    if(IsNull(Tem_Producao2),'Não',Tem_Producao2)              as Tem_Producao,

    if(IsNull(Tem_Venda2)   ,'Não',Tem_Venda2)                 as Tem_Venda

Resident TabelaFinal;

//

left join (TabelaFinal)

LOAD

    Produto,

    Tem_Producao,

    Tem_Venda,

    // Cria um unico filtro para as duas situacoes......

    if(Tem_Producao='Sim' and Tem_Venda='Sim','Com Producao e Venda',

    if(Tem_Producao='Sim' and Tem_Venda='Não','Com Producao e Sem Venda',

    if(Tem_Producao='Não' and Tem_Venda='Sim','Sem Producao e Com Venda',

    if(Tem_Producao='Não' and Tem_Venda='Não','Sem Producao e Sem Venda'))))    as Tem_Producao_e_Venda

Resident TabelaFinal;

//

Drop Fields Tem_Venda2,Tem_Producao2;

Drop Table Tmp;

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Exatamente isso! Obrigado Alessandro