Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Humberto_Nascimento
Contributor II
Contributor II

Formato de hora 24:00

Bom dia!

 estou com uma dúvida simples... (Talvez)... tenho em meu banco a hora gravada como 24:05 e gostaria que assim a trouxesse, mas só consigo com que ela fique como 00:05

image.png

Podem me ajudar por favor?

1 Solution

Accepted Solutions
Humberto_Nascimento
Contributor II
Contributor II
Author

Mais uma vez obrigado pela atenção

 

Consegui resolver fazendo o seguinte na editando a dimensão:

 

=interval(if(Interval(HR_PROGRAMADA,'hh:mm')<'03:00:00',Interval(HR_PROGRAMADA,'hh:mm') + interval('24:00:00', 'hh:mm'),Interval(HR_PROGRAMADA,'hh:mm')),'hh:mm')

View solution in original post

11 Replies
Miguel_Angel_Baeyens

Try using Interval() instead of Time() or Date()

Humberto_Nascimento
Contributor II
Contributor II
Author

já estou usando 

=interval(HR_PROGRAMADA,'hh:mm')

Humberto_Nascimento
Contributor II
Contributor II
Author

="interval(HR_PROGRAMADA,'hh:mm')"

Miguel_Angel_Baeyens

How does the value look like in the source? It is also "24:05" ?

Humberto_Nascimento
Contributor II
Contributor II
Author

peço desculpas, na verdade está gravado como 00:05, sendo assim reformulo meu questionamento...

QUALQUER hora que esteja entre 00:00 e 03:00 exibido como 24:00 / 25:00 e etc...

Obrigado mais uma vez

Miguel_Angel_Baeyens

You will then need to do some transformation in the script, like

If(Num(Hour(Date(DateField))) >= 0 AND Num(Hour(Date(DateField))) <=3, Num(Hour(Date(DateField))) +24, DateField) AS NewDateField

Then process it with the Interval() function.

Humberto_Nascimento
Contributor II
Contributor II
Author

está em sql como seria?

 

 

SQL SELECT FATO_DESEMPENHO_OPERACIONAL.`ID`,
FATO_DESEMPENHO_OPERACIONAL.`COD_LINHA` AS COD_LINHA_FATO,
FATO_DESEMPENHO_OPERACIONAL.`DES_LINHA` AS DES_LINHA_FATO,
FATO_DESEMPENHO_OPERACIONAL.`DES_OPERADORA`,
FATO_DESEMPENHO_OPERACIONAL.`DTC_OPERACAO`,
YEAR (DTC_OPERACAO) AS ANO,
MONTH (DTC_OPERACAO) AS MES,
FATO_DESEMPENHO_OPERACIONAL.`DES_PONTO_CONTROLE`,
FATO_DESEMPENHO_OPERACIONAL.`HR_PROGRAMADA`,
FATO_DESEMPENHO_OPERACIONAL.`HR_REALIZADA`,
FATO_DESEMPENHO_OPERACIONAL.`HR_REALIZADA_ORIGINAL`,
FATO_DESEMPENHO_OPERACIONAL.`HR_DIFERENCA`,
FATO_DESEMPENHO_OPERACIONAL.`DES_STATUS`,
FATO_DESEMPENHO_OPERACIONAL.`COD_VEICULO_REALIZADO`,
FATO_DESEMPENHO_OPERACIONAL.`NOM_RODOVIARIO_REALIZADO`,
FATO_DESEMPENHO_OPERACIONAL.`DES_DISTANCIA_PECORRIDA`,
FATO_DESEMPENHO_OPERACIONAL.`DES_ORIGEM`,
FATO_DESEMPENHO_OPERACIONAL.`DES_DESTINO`,
FATO_DESEMPENHO_OPERACIONAL.`COD_VIAGEM`,
FATO_DESEMPENHO_OPERACIONAL.`COD_VEICULO_PROGRAMADO`,
FATO_DESEMPENHO_OPERACIONAL.`DES_ORIGEM_ITINERARIO`,
FATO_DESEMPENHO_OPERACIONAL.`HR_TERMINO_VIAGEM`,
FATO_DESEMPENHO_OPERACIONAL.`HR_TEMPO_TOTAL`,
FATO_DESEMPENHO_OPERACIONAL.`DES_JUSTIFICATIVA`,
FATO_DESEMPENHO_OPERACIONAL.`DES_OBSERVACAO`,
FATO_DESEMPENHO_OPERACIONAL.`DES_USUARIO_JUSTIFICATIVA`,
FATO_DESEMPENHO_OPERACIONAL.`DES_CLASSIFICACAO`,
FATO_DESEMPENHO_OPERACIONAL.`NUM_CPF_MOTORISTA`,
FATO_DESEMPENHO_OPERACIONAL.`NUM_CPF_COBRADOR`,
FATO_DESEMPENHO_OPERACIONAL.`IDE_SK_FAIXA_PROGRAMADA`,
FATO_DESEMPENHO_OPERACIONAL.`IDE_SK_FAIXA_REALIZADA`,
FATO_DESEMPENHO_OPERACIONAL.`IDE_SK_DATA` AS IDE_SK_TEMPO,
FATO_DESEMPENHO_OPERACIONAL.`IDE_SK_TERMINAL`,
FATO_DESEMPENHO_OPERACIONAL.`COD_FAIXA`,
FATO_DESEMPENHO_OPERACIONAL.`HR_HEADWAY`,
FATO_DESEMPENHO_OPERACIONAL.`VAL_ADMTD`,
FATO_DESEMPENHO_OPERACIONAL.`QTD_PROGRAMADA`,
FATO_DESEMPENHO_OPERACIONAL.`QTD_REALIZADA`,
FATO_DESEMPENHO_OPERACIONAL.`IDE_SK_FUNCIONARIO`,
FATO_DESEMPENHO_OPERACIONAL.`HOR_TERMINO_PROGRAMADO`
FROM dw_csn.`FATO_DESEMPENHO_OPERACIONAL` where YEAR (DTC_OPERACAO)>'2018' ;/*

Miguel_Angel_Baeyens

Use a LOAD before that SQL:

https://help.qlik.com/en-US/qlikview/April2019/Subsystems/Client/Content/QV_QlikView/Scripting/Scrip...

Something like this should work:

Table:

LOAD *,

If() AS ... // new field as suggested

;

SQL SELECT 

...

FROM dw_csn ...

WHERE ...

;

Humberto_Nascimento
Contributor II
Contributor II
Author

Assim foi feito no script
Tabela24:
LOAD
*,
If(Num(Hour(Date(HR_PROGRAMADA))) >= '0' AND Num(Hour(Date(HR_PROGRAMADA))) <= '3', Num(Hour(Date(HR_PROGRAMADA))) + '24', HR_PROGRAMADA) AS HR_PROGRAMADANOVA
;


SQL SELECT FATO_DESEMPENHO_OPERACIONAL.`ID`,
FATO_DESEMPENHO_OPERACIONAL.`COD_LINHA` AS COD_LINHA_FATO,
FATO_DESEMPENHO_OPERACIONAL.`DES_LINHA` AS DES_LINHA_FATO,

.....

 

e assim na dimensão (Está como dimensão e não como expressão):

 

=Interval(HR_PROGRAMADANOVA,'hh:mm')

 

Só que agora não aparece mais as tais viagens nem como 00:05 nem com 24:05