BASE DE DADOS DE CONHECIMENTO

Conversão de segundos em HH:MM:SS ou DD:HH:MM:SS


Publicado: 23 Jan 2013
Data da última modificação: 03 Jan 2024

Pergunta

Como converter campos que contêm apenas dados de segundos em um dos seguintes formatos:
  • HH:MM:SS
  • DD:HH:MM:SS
Observação: "HH:MM:SS" representa hora, minuto e segundos. "DD:HH:MM:SS" representa dia, hora, minuto e segundos.

Ambiente

Tableau Desktop

Resposta

Para converter segundos em uma cadeia de caracteres que exiba HH:MM:SS ou DD:HH:MM:SS, crie um campo calculado usando um dos seguintes procedimentos:

Para HH:MM:SS

1. Vá para Análise > Criar campo calculado.
2. Na caixa de diálogo Campo calculado, faça o seguinte:
 
1. No campo Nome, digite o seguinte: HH:MM:SS
2. No campo Fórmula, digite o seguinte e clique em OK:
 
STR(INT(SUM([<fieldname>])/3600))
+ ":" +
 
IF INT(SUM([<fieldname>])%3600/60)
< 10 THEN "0" ELSE "" END + STR(INT(SUM([<fieldname>])%3600/60))
+ ":" +
 
IF INT(SUM([<fieldname>]) %3600 %60)
< 10 THEN "0" ELSE "" END + STR(INT(SUM([<fieldname>])%3600 %60))
 
Observação: substitua <fieldname> pelo nome do campo em sua fonte de dados que contém os dados "segundos". 
 

Para DD:HH:MM:SS

1. Vá para Análise > Criar campo calculado.
2. Na caixa de diálogo Campo calculado, faça o seguinte:
 
1. No campo Nome, digite o seguinte: DD:HH:MM:SS
2. No campo Fórmula, digite o seguinte e clique em OK
 
STR(INT(SUM([<fieldname>])/86400)) 
 
+ ":" + 
 
IF (INT(SUM([fieldname])%86400/3600)) 
< 10 THEN "0" ELSE "" END + STR(INT(SUM([fieldname])%86400/3600))
 
+ ":" + 
 
IF INT(SUM([<fieldname>])%3600/60) 
< 10 THEN "0" ELSE "" END + STR(INT(SUM([<fieldname>])%3600/60)) 
 
 
+ ":" + 
 
IF INT(SUM([<fieldname>]) %3600 %60) 
< 10 THEN "0" ELSE "" END + STR(INT(SUM([<fieldname>]) %3600 %60))

Observação: substitua <fieldname> pelo nome do campo em sua fonte de dados que contém os dados de "segundos". 

 
Este artigo resolveu o problema?