7 Replies Latest reply: Aug 12, 2014 8:40 AM by Raphael Pacheco RSS

    String para data

    Luiz Cláudio Gomes

      Tenho uma planilha em excel onde as datas estão gravadas como 28032011

      Tentei alterar isso para data no script utilizando:

      Timestamp#(ULTALT,  'DD/MM/YYYY hh:mm:ss') AS ULT_ALTERACAO

      ou ainda

      Date#(ULTALT, 'DD/MM/YYYY hh:mm:ss') AS ULT_ALTERACAO

       

      Porém o campo continua vindo no formato original quando carrego na tabela.

      Alguma dica?

       

      Abs

       

      Luiz Cláudio

        • Re: String para data
          Egnaldo de Sousa

          Tenta utilizar a seguine formula:

           

          MAKEDATE(Left(ULTALT,2), MID(ULTALT,3, 2),MID(ULTALT,5, 2)) AS ULT_ALTERACAO

          • Re: String para data
            Raphael Pacheco

            Boa tarde Luiz Claudio.

            Isto acontece por que o QlikView está considerando este registro como um número inteiro e não como um campo de data formatada. Sendo assim a data de Hoje 11/08/2014 deveria vir como 41862, aí sim ele entenderia. No seu caso, acredito que utilizando o MakeDate você consiga o resultado esperado. Ficaria mais ou menos assim:

             

            Date(MakeDate(Right(ULTALT, 4),Num(Left(Right(ULTALT,6),2)),If(Len(ULTALT) = 8, Left(ULTALT,2), Left(ULTALT,1))),'DD/MM/YYYY hh:mm:ss')

             

            Abs.

            • Re: String para data
              Felipe Dutra

              Luiz, Tente o seguinte:

               

              Date(Date#(ULTALT, 'DDMMYYYY'), 'DD/MM/YYYY') AS ULT_ALTERACAO


              Abs,

              Felipe

              • Re: String para data
                Luiz Cláudio Gomes

                Valeu amigos

                 

                As três respostas estão corretas... apenas escritas de forma diferente.

                Como só posso assinalar uma fiz a opção pela resposta mais 'clean'...

                 

                Abraços

                  • Re: String para data
                    Raphael Pacheco

                    Bom dia Luiz.

                    Como é apresentada a data no xls quando temos por exemplo uma data como 01/08/2014?

                    Normalmente ela será apresentada como 1082014 pela conversão automática do Excel. A não ser que este dado esteja formatado como texto, pois senão terá que incluir uma tratativa para este caso

                      • Re: String para data
                        Luiz Cláudio Gomes

                        Bom dia Raphael

                         

                        Nesse caso, se trata de uma planilha que recebo para verificação de informações. Na planilha, as células estão no formato texto.

                        Postei a dúvida porque encontrei vários exemplos onde o tratamento da data era feito através do Timestamp e (não nego) fiquei com dúvida sobre a utilização do mesmo. Sabemos que existem inúmeras formas de se atingir determinado objetivo em programação, diferenciando-se justamente pela adequação quanto ao tempo de processamento, uso de memória, etc...

                        E o uso adequado é atingido pelo estudo e pela experiência no uso, certo?

                        Infelizmente ainda temos uma deficiência de literatura sobre o qlikview e isso acaba nos levando para o aprendizado "mão na massa"...rsrs

                          • Re: String para data
                            Raphael Pacheco

                            Entendo perfeitamente esta questão... A maioria dos casos (onde eu também me incluo) temos que aprender na marra mesmo!
                            Minha pergunta foi apenas para tentar entender o cenário do seu problema. Uma vez que temos muitas formas de resolução, é necessário também obter o maior número de informações para ajudar da melhor maneira possível.

                             

                            Grande abraço!