Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Podem me ajudar por favor?
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')
Try using Interval() instead of Time() or Date()
já estou usando
=interval(HR_PROGRAMADA,'hh:mm')
="interval(HR_PROGRAMADA,'hh:mm')"
How does the value look like in the source? It is also "24:05" ?
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
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.
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' ;/*
Use a LOAD before that SQL:
Something like this should work:
Table:
LOAD *,
If() AS ... // new field as suggested
;
SQL SELECT
...
FROM dw_csn ...
WHERE ...
;
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