簡體   English   中英

如何使用 Tableau 或 Excel 從數據時間轉換為秒數

[英]How to Convert to Seconds from Data Time using Tableau or Excel

我有一個數據 CSV 文件,其中 Time Duration 用“常規”日期時間語法表示,例如12/30/99 00:00:55 AM

由於此值表示持續時間(而不是日期和時間),因此我需要將其轉換為一個數字,以分鍾為單位表示持續時間,例如55分鍾。

我想知道是否可以使用 Tableau 的計算字段或 Excel 表達式來提取計時00:00:55部分並將其轉換為表示持續時間的數字(以分鍾為單位)?

以下是我將如何使用 Python 執行此操作: 1. 首先,我將拆分傳入值以將 00:00:55 持續時間部分與12/30/99 00:00:55 AM隔離:

`value = '12/30/99 00:00:55 AM'`
`duration = value.split()[1]`
  1. 然后我將小時、分鍾和秒分開:

hours, minutes, sec = duration.split(':')

  1. 最后,我會在將每個轉換為秒后對每個求和:

seconds = (int(hours)*60*60 + int(minutes)*60 + int(sec))

如果您只想在 Excel 公式中執行此操作以達到秒數將類似於 Python:-

=HOUR(A1)*3600+MINUTE(A1)*60+SECOND(A1)

假設該值可以從 CSV 文件讀取到單元格 A1 中的 Excel 日期時間值。

另一種方法(使用 Excel 中的時間值是一天的幾分之一這一事實)是

=MOD(A1,1)*24*3600

這將是一種非常粗略的方法,並且依賴於相同的格式。

=(MID(E3,10,2)×60×60)+(MID(E3,13,2)×60)+(MID(E3,16,2))

MID -(單元格引用、起始位置、要提取的字符數)

這假設該值在 E3 中,這應該更改為您擁有原始值“12/30/99 00:00:55 AM”的任何單元格。

鏈接 CSV 文件后,Tableau 會根據自己的假設自動將數據類型分配給每一列。 原始 CSV 的Duration列字段值實際上是00:00:00:55 但由於 Tableau 將其視為日期時間類型,因此它會立即轉換為12/30/99 00:00:55 AM ,在開始12/30/99 00:00:55 AM附加12/30/9912/30/99 00:00:55 AM附加AM 我右鍵單擊Duration Dimension(這是 Tableau 調用列的方式)並將其日期類型更改為String 要將此值轉換為分鍾,我必須使用以下表達式創建一個自定義計算字段:

INT(SPLIT(STR([Duration]), ':', 1))*60*60*60 + INT(SPLIT(STR([Duration]), ':', 2))*60*60 + INT(SPLIT(STR([Duration]), ':', 3))*60 + INT(SPLIT(STR([Duration]), ':', 4))/60

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM