3 Replies Latest reply: Aug 25, 2017 3:53 PM by Clever Anjos RSS

    Contagem de Clientes Ativos

    Guilherme Gaidex

      Boa Tarde colegas,

       

      Estou com uma dúvida que vem consumindo muito tempo do meu trabalho. Preciso saber quantos clientes ativos eu tenho na minha base de dados, o período do "ativo" é de 30, 60, 90 e 120 dias, são 4 KPI´s diferentes que estou fazendo.

       

      Eu carrego diariamente a tabela de vendas, onde consta o "Numero Cliente", "Data Compra".

      Sou novo na ferramenta e estou tendo muitas dificuldades em encontrar o valor correto, já usei algumas formulas e não funcionaram, como:

       

      count({$<Year=, Month=, [Numero Cliente]={"=max({$<[Valor Compra SV]={'>0'}, Year=, Month=,

      OrderDate={'<=$(=max(DataCompra))'}>} DataCompra)>=$(=max(DataCompra)-30)"}>}

      distinct [Numero Cliente])

       

      Count({<DataCompra={"=$(=date(today()-90))"}>}Distinct ([CartãoCompra])).

       

      Obrigado.

        • Re: Contagem de Clientes Ativos
          Márcio Rodrigo Campestrini

          Guilherme

           

          Tente:

          Count({<DataCompra = {"$(=Date(Today()-90))"}>} Distinct ([Numero Cliente]))
          • Re: Contagem de Clientes Ativos
            Felip Drechsler

            Eu prefiro fazer esse tipo de questão à nivel de script,

             

            Segue um exemplo em Qlikview de como fazer, com os KPIs que você precisa:

             

            Mapping

            DescDias:

            Load * Inline

            [

            Id,Desc

            1,30 Dias

            2,60 Dias

            3,90 Dias

            4,120 Dias

            0,Fora

            ];

             

            dados:

            Load

            IdCliente,

            DataCompra,

            [Flag dias],

            ApplyMap('DescDias',[Flag dias]) as Descrição;

            Load

            IdCliente,

            DataCompra,

            if

            (

            num(DataCompra)>=num(AddMonths(Today(),-1)),

            1,

            if (num(DataCompra)>=num(AddMonths(Today(),-2)) And num(DataCompra)<num(AddMonths(Today(),-1)),

                 2,

                 if (num(DataCompra)>=num(AddMonths(Today(),-3)) And num(DataCompra)<num(AddMonths(Today(),-2)),

                      3,

                      if (num(DataCompra)>=num(AddMonths(Today(),-4)) And num(DataCompra)<num(AddMonths(Today(),-3)),

                           4,

                           0

                      )

                 )

            )

            ) as [Flag dias];

            Load * Inline

            [

            IdCliente,DataCompra

            1,01/01/2017

            1,02/01/2017

            2,01/07/2017

            2,01/08/2017

            3,01/06/2017

            4,01/04/2017

            5,01/05/2017

            4,01/06/2017

            3,01/05/2017

            6,01/08/2017

            8,05/08/2017

            ];

             

            E as expressões dos KPIs serão por exemplo:

            ='30 Dias: '& count({<[Flag dias]={1}>}IdCliente)

            ='60 Dias: '& count({<[Flag dias]={2}>}IdCliente)

            ='90 Dias: '& count({<[Flag dias]={3}>}IdCliente)

            ='120 Dias: '& count({<[Flag dias]={4}>}IdCliente)

             

            Felipe.

            • Re: Contagem de Clientes Ativos
              Clever Anjos

              Via set analsys não vai funcionar porque a expansão das expressões (max(DataCompra), por exemplo) é feita a nivel de hipercubo, não considerando o cliente.

              A melhor saida é criar um flag no script conforme sugestão do felipedl