8 Replies Latest reply: Nov 20, 2016 6:09 PM by Peter Mathias RSS

    Filtro Tabela Dinâmica - Qlik Sense

    Peter Mathias

      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

        • Re: Filtro Tabela Dinâmica - Qlik Sense
          maicon mello

          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.

          • Re: Filtro Tabela Dinâmica - Qlik Sense
            Alessandro Furtado

            Peter,

             

            segue modelo Qlik Sense com exemplo.

             

            TabelaDinamicaSense.gif

              • Re: Filtro Tabela Dinâmica - Qlik Sense
                Alessandro Furtado

                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

                ];

                  • Re: Filtro Tabela Dinâmica - Qlik Sense
                    Peter Mathias

                    Valeu Alessandro Furtado vou testar!

                    • Re: Filtro Tabela Dinâmica - Qlik Sense
                      Peter Mathias

                      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

                        • Re: Filtro Tabela Dinâmica - Qlik Sense
                          Alessandro Furtado

                          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;