4 Replies Latest reply: Jul 26, 2016 7:57 AM by Clever Anjos RSS

    Buscar ùltima data de compra excluindo o mês corrente

    Leonardo Jacquier


      Bom dia!

      Gostaria que me apoiassem com o seguinte problema:


      Preciso identificar se os clientes que compraram num determinado  mês selecionado, são novas compras ou não. Para isso tenho dois critérios:

       

      1) O cliente nunca efetuou uma compra efetivamente;

      2) A última compra do cliente,  antes da compra do mês selecionado foi um mais de 1 ano (Aqui gostaria de deixar "configurável", alternando para 6 meses, por exemplo.

       

      A minha base é uma base de notas fiscais, que contém diversas notas para cada cliente

       

      Obrigado


        • Re: Buscar ùltima data de compra excluindo o mês corrente
          Yuri Nicolett

          Por ser uma informação fixa, creio que o ideal é fazer esse cálculo no script de sua aplicação.

           

          Disponibilize um QVW de exemplo para podermos ajuda-lo melhor

          • Re: Buscar ùltima data de compra excluindo o mês corrente
            Eduardo Endo

            Crie algumas variáveis no script,

            LET vUltimos12Meses = DATE(ADDMONTHS(MONTHSTART(TODAY()), -12), 'DD/MM/YYYY');

            LET vUltimos6Meses = DATE(ADDMONTHS(MONTHSTART(TODAY()), -6), 'DD/MM/YYYY');

             

            Depois você pode calcular dessa forma:

            =IF(COUNT({< DATA_VENDA = {'>=$(=Date(vUltimos12Meses))<$(=Date(Monthstart(MES_SELECIONADO)))'} >}

            NOTA_FISCAL) > 0, "Sim", "Não") AS NOVA_COMPRA_ULTIMOS_12_MESES

             

            =IF(COUNT({< DATA_VENDA = {'>=$(=Date(vUltimos6Meses))<$(=Date(Monthstart(MES_SELECIONADO)))'} >} NOTA_FISCAL) > 0, "Sim", "Não") AS NOVA_COMPRA_ULTIMOS_6_MESES

            • Re: Buscar ùltima data de compra excluindo o mês corrente
              Jonas Melo

              Bom dia, Leonardo Jacquier.

               

              A minha dica é desenvolver via script como orientado por Yuri Nicolett. Sendo que em cada item poderá produzir como abaixo.

               

              1. A não compra do cliente dar-se-á pelo relacionamento entre as tabelas clientes e vendas. Ou seja, não haverá o código do cliente que não comprou à tabela de vendas. Ex.:

              Sum({<[%Cod Cliente] = E({<[%Cod Produto] = {"*"} >} [%Cod Cliente]) >} [#Contador Cliente]);

               

              2. Você poderá filtrar o período na carga e montar um relacionamento da tabela de vendas transformada com a fato principal. Omiti a tabela de cliente por subentender que estará carregada. Ex.:

              tmp_Vendas:

              LOAD

              [%Cod Cliente],

              Data,

              [#Valor Venda]

              From <nome tabela>.qvd

              (qvd)

              where

              Data >= MakeDate(Year(Today(2)-180), Month(Today(2)-180));

               

              NoConcatenate

               

              Vendas:

              LOAD

              [%Cod Cliente],

              Date(Data) as Data,

              [#Valor Venda]

              Resident tmp_Vendas

              order by

              [%Cod Cliente],

              Data;


              DROP Table tmp_Vendas;

               

              Vendas_Transform:

              LOAD

              [%Cod Cliente],

              Date(Max(Data,2))    as [Data Compra Anterior],

              Date(Max(Date))  as [Data Compra Atual],

              Sum([#Valor Venda]) as [#Total Vendas]

              resident Vendas

              group by

              [%Cod Cliente];

               

              Espero que ajude!

              • Re: Buscar ùltima data de compra excluindo o mês corrente
                Clever Anjos

                Já achou uma solução? Se sim, marque uma das respostas como "Correta" para fechar o tópico e nos ajudar a manter o forum organizado.

                Como obter ajuda? Leia antes de postar