知识库

将秒转换为 HH:MM:SS 或 DD:HH:MM:SS


发布时间: 23 Jan 2013
上次修改日期: 03 Jan 2024

问题

如何将仅包含秒数据的字段转换为以下格式之一:
  • HH:MM:SS
  • DD:HH:MM:SS
注意: “HH:MM:SS”表示小时、分钟和秒。“DD:HH:MM:SS”表示日、小时、分钟和秒。

环境

Tableau Desktop

答案

若要将秒转换为显示 HH:MM:SS 或 DD:HH:MM:SS 的字符串,请使用以下过程之一创建计算字段:

对于 HH:MM:SS

1. 转到“分析”>“创建计算字段”
2. 在“计算字段”对话框中,执行以下操作:
 
1. 在“名称”字段中,键入以下内容:HH:MM:SS
2. 在“公式”字段中,键入以下公式,然后单击“确定”
 
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))
 
注意:<fieldname> 替换为数据源中包含“秒”数据的字段的名称。
 

对于 DD:HH:MM:SS

1. 转到“分析”>“创建计算字段”
2. 在“计算字段”对话框中,执行以下操作:
 
1. 在“名称”字段中,键入以下内容:DD:HH:MM:SS
2. 在“公式”字段中,键入以下公式,然后单击“确定”
 
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))

注意: 将 <fieldname> 替换为数据源中包含“秒”数据的字段的名称。

 
此文章是否已解决问题?