知識庫

正在以 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

答案

對於 1 天(86400 秒)的已耗用時間,包含天數的欄位格式可設定為 hh:mm:ss。對於等於或大於 1 天的值,可以建立計算以手動產生所需標籤作為字串。

對於 hh:mm:ss

1. 移至分析 > 建立導出欄位。
2. 在「導出欄位」對話方塊中,執行以下動作:
 
1. 在名稱欄位,鍵入下列內容 hh:mm:ss
2. 在公式欄位中,輸入以下公式,然後按一下確定
 
SUM( [# of Seconds) / 86400
 
注意: 以上公式旨在將包含描述的欄位轉換為天數。若包含已耗用時間資料的欄位在不同的量測中,例如分鐘數,以上計算將需要進行適當修改。最終結果應為已耗用時間(天數)。
3. 以滑鼠右鍵按一下資料窗格中的 [hh:mm:ss],然後選取「預設屬性 > 數字格式..」
4. 在預設數字格式對話方塊中,執行下列操作並按一下「確定」:
1. 選取自訂
2. 在格式:文字方塊中,鍵入下列內容:hh:mm:ss
5. 將 [hh:mm:ss] 拖曳到檢視中
 

對於 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> 取代為資料來源中包含 "秒" 資料的欄位的名稱。

 
這篇文章是否解決了問題?