Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Duvida Manipulação de Data

Olá pessoal,

Eu estou tendo um probleminha com a formatção de uma data. O problema é esse:

Eu tenho um campo que contem informações de periodo no seguinte formato: 01/abr/2013 10:26h

O problema é que quando eu tento gerar apenas o ano usando a função Year() e passando o campo ele não mim retorna nada.

O mesmo acontece com as funções Month() e Day(). Tambem já tentei usar a função makedate(), mas tbm não retornada nada.

Eu não sei se o problema seria o mês esta em text ao invés de num.

Alguem teria uma solução?

Desde já obrigado.

1 Solution

Accepted Solutions
rphpacheco
Creator III
Creator III

Bom... Primeiro vc terá que criar um mapping load para tratar o mês.

[Converter Meses]:

Mapping LOAD * Inline [
MesDes, MesNum
jan, 1
fev, 2
mar, 3
abr, 4
mai, 5
jun, 6
jul, 7
ago, 8
set, 9
out, 10
nov, 11
dez, 12
]
;

Depois vc poderá usar a função MakeDate.

[Data Web]:

LOAD * Inline [
Data
01/abr/2013 10:26h
02/abr/2013 12:32h
03/abr/2013 08:15h
04/abr/2013 17:54h
05/abr/2013 14:28h
]
;


[Data Correta]:
LOAD
Date(MakeDate(Left(SubField(Data,'/',3),4),ApplyMap('Converter Meses',SubField(Data,'/',2)),Left(Data,2)), 'DD/MM/YYYY') as DataCorreta,
Left(Data,2) as Dia,
ApplyMap('Converter Meses',SubField(Data,'/',2)) as Mes,
Left(SubField(Data,'/',3),4) as Ano

Resident [Data Web];

DROP Table [Data Web];

Eu criei antes uma tabela in line para carregar as datas via tabela web, mas você pode fazer direto

Em anexo segue o QVW de exemplo

Abs.

View solution in original post

7 Replies
rphpacheco
Creator III
Creator III

Esta data vem direto do banco ou um de algum arquivo (ex: xls, txt)?

Not applicable
Author

Ela vem de uma tabela Web.

rphpacheco
Creator III
Creator III

Só mais uma perguntinha rsrsrsrs

Você irá precisar da hora tmbm?

Not applicable
Author

Não, só a data mesmo. xD

rphpacheco
Creator III
Creator III

Bom... Primeiro vc terá que criar um mapping load para tratar o mês.

[Converter Meses]:

Mapping LOAD * Inline [
MesDes, MesNum
jan, 1
fev, 2
mar, 3
abr, 4
mai, 5
jun, 6
jul, 7
ago, 8
set, 9
out, 10
nov, 11
dez, 12
]
;

Depois vc poderá usar a função MakeDate.

[Data Web]:

LOAD * Inline [
Data
01/abr/2013 10:26h
02/abr/2013 12:32h
03/abr/2013 08:15h
04/abr/2013 17:54h
05/abr/2013 14:28h
]
;


[Data Correta]:
LOAD
Date(MakeDate(Left(SubField(Data,'/',3),4),ApplyMap('Converter Meses',SubField(Data,'/',2)),Left(Data,2)), 'DD/MM/YYYY') as DataCorreta,
Left(Data,2) as Dia,
ApplyMap('Converter Meses',SubField(Data,'/',2)) as Mes,
Left(SubField(Data,'/',3),4) as Ano

Resident [Data Web];

DROP Table [Data Web];

Eu criei antes uma tabela in line para carregar as datas via tabela web, mas você pode fazer direto

Em anexo segue o QVW de exemplo

Abs.

Not applicable
Author

Vlw Raphael, funcionou certinho. xD

rphpacheco
Creator III
Creator III

Opa... Estamos aí para ajudar e ser ajudado tmbm
Manipulação de data é chato mesmo

Abs.