16 Replies Latest reply: Oct 28, 2014 6:33 AM by Luciano Vasconcelos RSS

    Botão com condição

    Marcos Santos

      Boa tarde, estou com o seguinte problema, tenho uma tabela onde tem a coluna "Fornecedores" porém essa coluna é uma expressão com a seguinte condição: IF(ISNULL(NomeForne) AND MontVend > 0, 'PENDENTE', NomeForne), no caso eu gostaria de criar um botão que quando acionado filtrasse apenas o que esta pendente. Qualquer duvida estou a disposição.

        • Re: Botão com condição
          Luciano Vasconcelos

          Boa tarde.

          Crie 2 dimensões condicionais na tabela, uma para pendentes e outra para o nome do fornecedor.

          No botão você inclui uma ação para setar uma variável que será usada na condição das dimensões.

          Na ação definir variável você coloca:

          If(variável="Pendente", "Fornecedor", "Pendente")

           

          Esse if servirá para inverter a seleção e o rótulo do botão.

           

          Isso ajudará se você resolver as expressões, porém não conseguirá selecionar nulos para o fornecedor. Se este for o caso, você precisará colocar no script:

           

          IF(ISNULL(NomeForne) AND MontVend > 0, 'PENDENTE', NomeForne) as NomeForne,

           

          Att.

          Luciano.

          Enviado via iPhone

           

          Em 22/10/2014, às 16:37, Marcos Santos <qcwebmaster@qlikview.com> escreveu:

           

           

          Qlik Community

          Botão com condição

          criado por Marcos Santos em Qlikview Brasil - Visualize a discussão completa

           

          Boa tarde, estou com o seguinte problema, tenho uma tabela onde tem a coluna "Fornecedores" porém essa coluna é uma expressão com a seguinte condição: IF(ISNULL(NomeForne) AND MontVend > 0, 'PENDENTE', NomeForne), no caso eu gostaria de criar um botão que quando acionado filtrasse apenas o que esta pendente. Qualquer duvida estou a disposição.

           

          Responda a esta mensagem respondendo a este e-mail ou vá para a mensagem em Qlik Community

          Inicie uma nova discussão em Qlikview Brasil por e-mail ou em Qlik Community

          Seguindo Qlikview Brasil nestes fluxos: Caixa de Entrada

          © 1993-2014 QlikTech International AB    Copyright & Trademarks | Privacy | Terms of Use | Software EULA

            • Re: Botão com condição
              Marcos Santos

              Boa tarde, mas no caso como ficariam as condições nas expressões? E qual o tipo de botão eu deve utilizar para essa variável? Lembrando que essa coluna fornecedor lista quem é o fornecedor da tarefa que no caso é a montagem, e a condição que eu fiz é para que o fornecedor que estiver em branco mas que o saldo seja maior que 0 fique como "Pendente" o botão seria para filtrar apenas as montagens que estão com os fornecedores pendentes de contratação. Qualquer duvida estou a disposição.

                • Re: Botão com condição

                  Marcos quanto ao botão você irá cria-lo, depois incluir uma ação, externa-definir-variável, e no lugar da expressão que você usava coloque  a dimensão calculada que o Luciano passou.

                  • Re: Botão com condição
                    Luciano Vasconcelos

                    Boa noite.

                    Para mostrar a dimensão e fazer o botão é simples.

                    Mesmo assim, acho melhor criar o valor Pendente via script, caso contrário talvez não seja possível selecionar.

                    Vou tentar postar um exemplo para você amanhã.

                     

                    Att.

                    Luciano.

                     

                    Em 22/10/2014, às 17:33, Marcos Santos <qcwebmaster@qlikview.com> escreveu:

                     

                     

                    Qlik Community

                    Botão com condição

                    resposta de Marcos Santos em Qlikview Brasil - Visualize a discussão completa

                     

                    Boa tarde, mas no caso como ficariam as condições nas expressões? E qual o tipo de botão eu deve utilizar para essa variável? Lembrando que essa coluna fornecedor lista quem é o fornecedor da tarefa que no caso é a montagem, e a condição que eu fiz é para que o fornecedor que estiver em branco mas que o saldo seja maior que 0 fique como "Pendente" o botão seria para filtrar apenas as montagens que estão com os fornecedores pendentes de contratação. Qualquer duvida estou a disposição.

                     

                    Responda a esta mensagem respondendo a este e-mail ou vá para a mensagem em Qlik Community

                    Inicie uma nova discussão em Qlikview Brasil por e-mail ou em Qlik Community

                    Seguindo Qlikview Brasil nestes fluxos: Caixa de Entrada

                    Seguindo Botão com condição nestes fluxos: Caixa de Entrada

                    © 1993-2014 QlikTech International AB     Copyright & Trademarks | Privacy | Terms of Use | Software EULA

                     

                • Re: Botão com condição
                  Luciano Vasconcelos

                  Marcos, achei um qvw seu antigo.

                  Nele você têm PedidosDeVenda, Fornecedores e ContratosParceria:

                   

                  PedidosDeVenda:

                  LOAD

                    Left(C5_FILIAL, 2) &'-'& C5_NUM as #ChavePed, 

                    //Left(C5_FILIAL, 2) &'-'& C5_CLIENTE & C5_LOJACLI as #ChaveCli,

                       C5_NOTA as NotaPv,

                       C5_CLIENTE as ClientePv,

                       C5_LOJACLI as LojaPv,

                       C5_X_TIPO as TipoPv

                  FROM

                  [..\Dados\Ext\SC5.qvd]

                  (qvd);

                   

                  Fornecedores:

                  LOAD Left(A2_FILIAL, 2) &'-'& A2_COD & A2_LOJA as #ChaveForne,

                       A2_COD as CodForne,

                       A2_LOJA as LojaForne,

                       A2_NREDUZ as NomeForne

                  FROM

                  [..\Dados\Ext\SA2.qvd]

                  (qvd);

                   

                  ContratosParceria:

                  LOAD C3_FILIAL &'-'& C3_NUM & C3_ITEM as #ChaveCP, 

                       Left(C3_FILIAL, 2) &'-'& C3_FORNECE & C3_LOJA as #ChaveForne,

                       C3_NUM as CodCP,

                       C3_FORNECE as ForneceCP,

                       C3_LOJA as LojaCP,

                       C3_ITEM as ItemCP,

                       if(C3_QUJE = ' ', 0, C3_QUJE) as QtdEntregue,

                       C3_QUANT as QuantCP,

                       C3_TOTAL as TotalCP

                  FROM

                  [..\Dados\Ext\SC3.qvd]

                  (qvd);

                   

                  Se os valores analisados forem da ContratosParceria é simples, pois as tabelas já estão amarradas. Se forem da Pedidos ou outra fica complicado. A modelagem está bem complexa e eu não sei quais campos você têmnos qvds.

                  Você precisaria montar a LOAD Left(A2_FILIAL, 2) &'-'& A2_COD & A2_LOJA as #ChaveForne na tabela com as quantidades para poder cruzar as informações. Se não tiver os dados diretamente, pode ser que tenha que fazer vários joins para marcar fornecedores com venda.

                    • Re: Re: Botão com condição
                      Marcos Santos

                      Estou anexando o qvw completo caso queira analisar melhor, inclui alguns comentários também na parte de montagem para que fique mais fácil de compreender.

                        • Re: Botão com condição
                          Luciano Vasconcelos

                          Desculpe, mas isso é realmente insuficiente.

                          Não sei se você utiliza todos os campos existentes nos qvds na carga do qvw, entretanto para fazer o que você necessita, precisaria ter os campos A2_FILIAL, A2_COD e A2_LOJA no qvd AF9.qvd para montar o campo #ChaveForne e fazer a marcação nas linhas com Where MontVend > 0.

                          Não sei quem desenvolveu esse aplicativo e acho que se tudo estiver correto o desenvolvedor é muito bom, mas construiu da pior maneira possível para entendimento e manutenção.

                           

                          Não existem esses campos no qvd, certo? Se este for o caso não dá para fazer com essa modelagem. Com essa modelagem, se der para fazer você terá que fazer inúmeros joins em uma camada de transformação antes da carga do qvw.

                           

                          Desculpe não poder ajudar mais.

                            • Re: Botão com condição
                              Marcos Santos

                              Bom dia, após varias tentativas consegui acertar os Left Joins, tive ajuda de um representante que me auxiliou em algumas duvidas, após acertar os Left Joins fiz a carga dos campos novamente usando a condição. Obrigado pela ajuda.

                                • Re: Botão com condição
                                  Luciano Vasconcelos

                                  Bom dia.

                                  Desculpe não ter auxiliado mais. Não tinha tempo disponível suficiente para tal e além disso, quando a modelagem está assim é sempre mais fácil a pessoa que conhece os dados arrumar.

                                  Não sei o que você alterou, mas se foi a aplicação deve ter sido um sofrimento e se você fez a marca antes deve ter feito uns 4 left joins.

                                  Abço.