7 Replies Latest reply on Aug 30, 2017 9:56 AM by Thiago Cunha

    Ajuda - Cálculos de tempo/datas no Tableau

    Gustavo Aguiar

      Pessoal, boa tarde!

       

      Uma das principais fontes de dados que utilizo no Tableau é o Google Analytics, para monitorar desempenho de campanhas e comportamento dentro do site.

       

      Estou tentando criar uma análise de campanhas no Tableau. No entanto, algo a se considerar ao fazer uma análise dessas é o tempo que a campanha está vigente.
      Minha pergunta é: Como eu faço para calcular o período em que esta campanha está em vigência? (Se é que é possível fazer isso)

       

      Pelo GA, as informações de data vem da seguinte maneira:

       

       

       

      Basicamente, em um determinado período, a mesma campanha irá aparecer "diversas" vezes (uma para cada data, neste caso). Ou seja, para conseguir calcular o "tempo de vigência" da campanha, basicamente eu precisaria de algo similar à DATEDIFF("day", Today(), MenorDataQueACampanhaAparece).

       

      Alguém tem alguma ideia de como eu poderia fazer isso?
      O intuito seria ainda utilizar o "tempo de vigência da campanha" em alguma marca (provavelmente forma), e englobá-lo no gráfico a seguir (ou talvez utilizá-lo como filtro)

       

       

       

       

       

       

       

      Agradeço desde já a ajuda!

        • 1. Re: Ajuda - Cálculos de tempo/datas no Tableau
          Thiago Cunha

          Olá Gustavo....

           

          Pela sua descrição, parece que você mesmo já tem tudo sobre controle....

           

          De fato, nesse caso você terá que usar a função DATEDIFF('DATEPART', START DATE, END DATE).

          Os outros pontos que você provavelmente usaria seriam as funções "MIN" e "MAX" aplicado às datas.

           

          Outras duas funções que você poderia acabar usando (aí seria caso você não conseguisse solucionar com as informações anteriores) seriam o "FIXED" e o "WINDOW_MAX" (ou WINDOW_MIN)

           

          • Com o FIXED, por exemplo, você conseguiria fixar em todas as linhas da campanha, a data de início da campanha usando o mínimo da data no fixed ou então fixar em todas as linhas da campanha a data fim pelo máximo da data no fixed.
          • Já com o "WINDOW_MAX" (ou WINDOW_MIN) você poderia fazer uma construção na tela e utilizar estas funções para determinar o início e fim das campanhas....

           

           

          Assim, não tenho dúvida de que seja possível construir o que você precisa, mas eu precisaria entender melhor o que você quer. Caso as dicas acima não te ajudarem, entre com mais detalhes e talvez um arquivo exemplo ....

           

          Um forte abraço.

          • 2. Re: Ajuda - Cálculos de tempo/datas no Tableau
            Gustavo Aguiar

            Olá Thiago!

             

            Primeiramente muito obrigado pela agilidade na resposta!

             

            Então... o meu problema utilizando a função DATADIFF é como relacioná-la com a dimensão campanha em específico.
            Como que eu aviso o Tableau que é a data mínima DA campanha, e não a data mínima em geral?

             

            Ao meu ver, seria basicamente um campo calculado "Tempo de vigência da campanha" com a fórmula DATEDIFF("day", Today(), MIN.DATA.CAMPANHA)
            Como que eu substituo o "MIN.DATA.CAMPANHA" para algo que faça sentido para o Tableau/ faça-o entender que o desejado é a data mínima por campanha?

             

            Quanto às outras duas sugestões, (Fixed e Window_max/min), ainda estou começando a utilizar o Tableau, e não tenho conhecimento dessas duas funções!
            Irei investigá-las para ver se consigo resolver meu problemas com elas!

             

            Mais uma vez, muito obrigado!!

            • 3. Re: Ajuda - Cálculos de tempo/datas no Tableau
              Thiago Cunha

              Então....

               

              A questão que, geralmente, em vários momentos nós temos um tipo de dimensão que se repete várias vezes e com variação de alguns valores....

               

              Vamos supor que você tenha várias campanhas e cada campanha tenha uma data de início.

              • Neste caso fica fácil perceber que basta eu pegar a minha data de início, assim pura e simplesmente pois cada linha campanha tem apenas um valor de data. Então se você fizesse o hoje menos a data início já resolveria.

               

              O problema começaria quando você tivesse cada campanha se repetindo várias vezes marcando cada data. Por exemplo, você teria a campanha se repetindo porque a cada dia você traz a quantidade de cliques do dia. Neste caso você não teria uma data de início, mas várias datas marcando as posições.

              • Sendo assim, se você listasse as campanhas na planilha e pedisse o máximo, seria retornado o máximo daquela campanha, se pedisse o mínimo voltaria o mínimo da campanha na tela.
              • Você alcançaria esse resultado pelo conceito de "Partição". Quando você listasse as campanhas, mesmo a campanha se repetindo várias vezes na base, ali na tela você teria que cada campanha seria uma "Partição" e se você pedir uma agregação para a partição, você terá o valor pedido agregado. O máximo e mínimo por exemplo, são formas de agregações, assim como o sum, a média, uma contagem distinta.
              • Quando você entender com clareza que o Tableau trabalhará com "Agregações" e "Não agregações", você solucionará com facilidade a maior parte dos problemas.

               

              Enfim, acho que estou falando muito e ajudando pouco. Hoje foi um dia corrido, na verdade essa semana está pesada. Mas assim, tenta montar uma base de exemplo com estrutura similar à sua, uma base fake, aí podemos te ajudar melhor e você pode fazer a engenharia reversa da solução e aprender melhor... O que me diz?

               

               

              Um forte abraço...

              • 4. Re: Ajuda - Cálculos de tempo/datas no Tableau
                Henrique Arita

                Gustavo, boa noite.

                 

                Como mencionado pelo Thiago, seria interessante você postar um twbx com a fonte no mesmo layout que você possui porem com dados fake.

                De qualquer forma, além das funções que o Thiago mencionou, se eu entendi bem, você pode utilizar a função fixed

                 

                Ficaria assim {fixed <Campanha>:Min(DATA)}

                Se você conhece banco de dados, é basicamente um subselect, onde para cada linha da sua fonte de dados vai retornar a menor data para cada campanha.

                Com isso, se você utilizar este o calculo de datediff com esse campo, você teria o valor fixo de cada campanha com relação à data de hoje.

                 

                Espero ter ajudado.

                Caso contrário, por favor, nos avise.

                Abraço.

                • 5. Re: Ajuda - Cálculos de tempo/datas no Tableau
                  Gustavo Aguiar

                  Bom dia, Henrique!

                   

                  Muito obrigado! O meu problema estava relacionado à aplicação do Fixed, e com seu exemplo foi bem fácil de entender a sintaxe dessa função!
                  Você e o Thiago me ajudaram bastante!

                   

                  Um grande abraço!

                  • 6. Re: Ajuda - Cálculos de tempo/datas no Tableau
                    Gustavo Aguiar

                    Bom dia, Thiago

                     

                    A combinação das suas respostas com a do Henrique me ajudou a resolver meu problema!
                    Muito obrigado!

                     

                    Um abraço!

                    • 7. Re: Ajuda - Cálculos de tempo/datas no Tableau
                      Thiago Cunha

                      Que bom....

                       

                      Estamos sempre aí na relatividade.....