Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Conversão de Data no Qlikview

Pessoal,

Estou carregando um arquivo Excel que tem um campo de "data" que está no seguinte formato: yyyy-mm-dd hh:mi:ss.mmm.

Como faço para o Qlikview entender que isso é Data? Já usei o Date# mas não está funcionando. Devo converter no momento da carga ou já no QVW.

Outra coisa, existe alguma forma do Qlikview já criar as variações da data automaticamente (Ano, Mês, Trimestre.......) com base no campo de data?

Obrigado.

1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

É direto do Excel e nele o campo é data?

Então você não precisa tratar com date#

Apenas faça a formatação desejada

date(Data_Venda,'DD/MM/YYYY hh:mm') AS DT

View solution in original post

9 Replies
daniel_vale
Creator
Creator

Bom dia... tem sim,

você pode usar da seguinte forma:

date#( A, CampoDaData)

A é o padrão para deixar a data como quer ou você pode usar as funções left, right e mid onde ficaria assim:

left(CampodaData,4) retorna ANO

mid(CampodaData,5, 2 ) retorna Mês

right(CampodaData,2 ) retorna Dia


a partir daí você consegue trabalhar todo o calendário, aí vai da imaginação.

Not applicable
Author

Olá Daniel,

Obrigado pela dica mas ainda não consegui. Coloquei da seguinte forma:

    date#('yyyy-mm-dd hh:mi:ss.mmm',Data_Venda) as dt,

Quando estou no QVW e coloco uma função de Month sobre o dt, ele não entende.

Só lembrando que o campo Data_Venda está sendo alimentado a partir de um excel e está função date# estou colocando no load do script. A função Month estou usando no relatório.

obrigado

daniel_vale
Creator
Creator

Utiliza a segunda opção que dei ali, usar o left, right e o mid

Not applicable
Author

Tente


date(date#('yyyy-mm-dd hh:mi:ss.mmm',Data_Venda)) AS DT

Clever_Anjos
Employee
Employee

O formato é sensivel a maiusculas e o milissegund é ff

Date(date#('YYYY-MM-dd hh:mi:ss.fff',Trim(Data_Venda))) as dt, deve funcionar

Not applicable
Author

Pessoal,

Já tentei de todo jeito:


date(date#('yyyy-mm-dd hh:mi:ss.mmm',Data_Venda)) AS DT

date(date#(Data_Venda,'yyyy-mm-dd hh:mi:ss.mmm')) AS DT

date(date#(Data_Venda,'yyyy-mm-dd hh:mi:ss.mmm'),'yyyy-mm-dd hh:mi:ss.mmm') AS DT

date(date#('YYYY-MM-dd hh:mi:ss.mmm',Data_Venda)) AS DT


Não vai de jeito nenhum. Alguma outra sugestão?


Lembrando que estou extraindo do excel e tentando usar um Month dentro do QVW.

Informação importante: se eu uso um Left(Data_Venda,10) eu tenho um YYYY-MM-DD e quando uso o MOnth dentro do QVW funciona.... mas eu preciso levar a informação de data inteira para dentro e depois poder usar as funções.


Obrigado


Not applicable
Author

Vc pode postar o arquivo excel para darmos uma olhada?

Porque  teoricamente essa estrutura, vc aplicando um MONTH() já deveria ter funcionado..Olha meu anexo.

Abraço!

Not applicable
Author

data.png

Tá aí pessoal. Esta aí é a imagem da data que tenho no Excel... .quando tento fazer a conversão desta estrutura aí para data.

Clever_Anjos
Employee
Employee

É direto do Excel e nele o campo é data?

Então você não precisa tratar com date#

Apenas faça a formatação desejada

date(Data_Venda,'DD/MM/YYYY hh:mm') AS DT