Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Calculando Status.

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.

1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

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.

View solution in original post

7 Replies
EduardoAlexandredeFrancisco

Via aplicação web realmente ele nao recarrega.

Poderia publicar um modelo para te ajudarmos ?

Anonymous
Not applicable
Author

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

Not applicable
Author

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

Anonymous
Not applicable
Author

Thiago bom dia!

Tudo bem?

Meu servidor já está configurado dessa maneira, o que preciso e que minha aplicação seja totalmente recalculada, quando o usuário mudar minha variável mês, na primeira aba do aplicativo.

OBrigado

Anonymous
Not applicable
Author

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.

Anonymous
Not applicable
Author

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.

Clever_Anjos
Employee
Employee

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