7 Replies Latest reply: Jul 25, 2016 7:35 AM by Clever Anjos RSS

    Calculando Status.

    victor fortunato

      Pessoal boa tarde.

      Estou com uma dificuldade muito grande em calcular o Status dos meus clientes.

      Onde eu tenho, Clientes novos , Ativos , Reativos e Inativos.

      Ao entrar na Aplicação eu tenho 1 variável onde digo qual mês vou analisar.

      Para fazer o calculo do status eu uso dois campos data_ultima_compra e data_primeira_compra,

      If data_primeira_compra =MÊS ATUAL and data_ultima_compra isnull status = Novo

      If data_ultima_compra  e a data_primeira_compra = MÊS ATUAL  status = Ativo

      If data_ultima_compra  > 180 dias status = Reativo

      If data_ultima_compra  < 180 dias status = Inativo

      Eu consegui fazer, colocando um botão na primeira Aba do projeto que quando clicado ele recarrega de acordo com o Mês digitado.

      Porem minha versão web não tem suporte para isso, alguém tem ideia de como posso resolver?

      Agradeço pelo apoio.

        • Re: Calculando Status.
          Eduardo Alexandre

          Via aplicação web realmente ele nao recarrega.

           

          Poderia publicar um modelo para te ajudarmos ?

            • Re: Calculando Status.
              victor fortunato

              Eduardo Agradeço mas não consigo postar um Exemplo. Infelizmente só tenho acesso ao app via servidor.

              Mas fiz dessa maneira:

              Criei uma variável Vmesanalise onde o usuario digitara o mes de deseja analisar ex: nov, jav ; fev.

              E para calcular o status fiz dessa maneira:

              Load Distinct   %CHAVE_CLIENTE, 

                                        dMES,

                                        dANO,

                                      dt_primcomp,

                                       dt_ultcomp,

                  if(Year(dt_primcomp)=dANO and month(dt_primcomp)= dMES,'Novo',

              //      if(Year(dt_ultcomp)=dANO and month(dt_ultcomp)= dMES ,'Ativo',

                    if( if(date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY') < if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp),if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp) - date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY'),date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY') - if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp)) < $(tempo_reativo),'Ativo',

                    //  if( if( $(vDTriniciomes) < if(isnull(dt_ultcomp) = -1,dt_primcomp, dt_ultcomp),if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp) - $(vDTriniciomes), $(vDTriniciomes) - if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp))  > $(tempo_inativo), 'Inativo', 'Reativo')

                       if( if(date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY') < if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp),if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp) - date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY'),date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY') - if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp))  > $(tempo_reativo) and if($(vDTriniciomes) < if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp),if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp) - date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY'),date('$(nr_mes_ref)' & $(vAnoAnalise),'DD/MM/YYYY') - if(isnull(dt_ultcomp) = -1, dt_primcomp, dt_ultcomp)) < $(tempo_inativo), 'Reativo', 'Inativo')

                     )) as status

              Resident status_cliente_TMP;

               

              Espero que consiga me ajudar.

              Obrigado

                • Re: Calculando Status.

                  Victor, não é possivel criar uma trigger para recarregar o script, mas uma opção é criar uma task no QMC para carregar de 1 em 1 minuto e no .qvw configurar o "Modo de atualização quando o Documento é Atualizado no Servidor" para:

                  "O Servidor executa a atualização automaticamente sem a ação do Cliente" em Configurações do Documento > Sevidor.

                  Selecione também:

                  "Ativar Push do Servidor"

                  "Ativar atualização dinâmica dos dados"

                   

                  Assim a atualização é feita sem que seja necessário atualizar a página.

                   

                  Veja como:

                  config.PNG

                   

                  Abs

              • Re: Calculando Status.
                victor fortunato

                Boas pessoal, ainda não consegui resolver essa pendencia pois e a unica coisa que está faltando no projeto.

                Eu aceito ideia novas de como fazer o calculo, acredito eu , que estou fazendo algo desnecessário , acredito ser mais simples do que pensei. Muito obrigado.

                  • Re: Calculando Status.
                    victor fortunato

                    Ola pessoal boas, continuo trabalhando no problema postado, e achei uma solução bem mais facil para o status novo e ativo.

                    Para novo:

                    ='Novo: ' &count({$<mes_pricompdf= {'$(vMesAnalise)'}, ano_pricompdf= {'$(vAnoAnalise)'} >} distinct %CHAVE_CLIENTEdf)

                     

                    Ativo:='Ativo :' & count({$<dMESdf= {'$(vMesAnalise)'}, dANOdf= {'$(vAnoAnalise)'},  vTOTAL_DF={'>0'},%CHAVE_EMPRESAdf=,%CHAVE_FORNECEDORdf=, %CHAVE_PRODUTOdf=, cGRUPOdf=, Classedf=, nCANAL_VENDASdf=, nCATEGORIAdf=, nNATUREZAdf=, nSUBCATEGORIAdf=, nUFdf=, %CHAVE_CLIENTEdf=, statusdf= >} distinct %CHAVE_CLIENTEdf)

                     

                    Agora estou trabalhando no inativo e reativo no qual ainda estou tendo um pouco de dificuldade, meu inativo são todos que não compra a 180 dias, e o reativo e aquele que não comprava , mas comprou no Mês de analise.

                    Muito obrigado.

                  • Re: Calculando Status.
                    Clever Anjos

                    Já achou uma solução? Se sim, marque uma das respostas como "Correta" nos ajudando a manter os tópicos organizados.

                    Como obter ajuda? Leia antes de postar