我的問題和圖表中的日期和時間不正確
您正在使用日期和時間進行計算,或在圖表中顯示它們,但是
- 值似乎不正確,或
- 摘要值不正確。
問題是否是由於時區?
根本原因:日期和時間使用不同的時區儲存,但在進行計算時,並未考慮部分或所有這些時區(即,問題是資料不一致)。
採取步驟
若要修正此問題,您需要這些問題的答案
- 您認為顯示不正確的資料的正確時區是什麼(即,正確答案是什麼)?
- 每個時間戳記上是否有明確的時區設定,或者是否在未設定時區的情況下儲存部分或所有時間戳記?例如,
2019 年 12 月 1 日 00:00:00Z00
包含時區(在Z
之後顯示),但2019 年 12 月 1 日
沒有。 - 資料庫伺服器使用的時區是什麼?
- Metabase 使用的時區是什麼?
取得這些答案後,尋找像這樣的案例
- 您的問題或圖表正在比較或排序具有不一致或遺失時區的值。例如,如果航班的起飛和抵達時間以當地時間回報,則可能看起來在起飛前就抵達。
- 您的問題正在彙總具有不同時區的時間戳記:例如,您網站流量的「每日」總計包含超過 24 小時的資料,因為您使用的是來自東亞、歐洲和美洲的當地日期。
一旦您認為已找出問題,請深入研究以瞭解確切的時區轉換導致的根本問題。例如,假設您正在查看具有每日值的時間序列;如果您的錯誤發生在每週總計中,您可以
- 選取您知道數字不正確的特定日期。
- 按一下圖表中的資料點,或結果表格中的儲存格,然後選取「查看這些 X」。
- 在瀏覽器的另兩個索引標籤中開啟此問題。變更日期篩選器,讓一個索引標籤具有來自前一天的基礎表格中的列,而另一個表格具有來自後一天的基礎表格中的列。
- 檢查用於在基礎顯示中分組結果的日期欄位是否正確。如果它與您儲存在資料庫中的內容或您在另一個工具中的內容不同,則時間戳記正在整個範圍內錯誤地轉換。當您使用缺少明確時區的日期或時間時,通常會發生這種情況。
- 如果基礎時間戳記正確(如果它們具有明確的時區,則應該正確),則個別時間可能以與您想要的時區不同的時區分組為天。
- 若要找出它們轉換成的時區,請調整您正在查看的問題的日期篩選器上的時間,方法是將開始時間和開始日期向後移動一小時,直到您獲得正確的數字或已向後移動 12 小時。(如果您的任何時區包含印度、紐芬蘭或其他具有半步時區的司法管轄區,您可能需要以半小時的增量執行此操作。)
- 如果這樣做無效,請嘗試將開始時間和結束時間向前移動一小時,直到您獲得正確的數字或已向前移動 12 小時。
- 如果到此時您已獲得正確的值,則表示您的時區已轉換為您手動設定篩選器的向前或向後小時數。如果是這種情況,請檢查您提出的偏移是否符合資料倉儲的時區或 Metabase 本身的時區。
報告時區是否設定不正確?
根本原因:問題或圖表中的錯誤數字可能是由於 Metabase 使用的時區與資料倉儲使用的時區不符所造成。
採取步驟
- 從管理設定 > 設定 > 在地化檢查報告時區設定。
- 如果您使用的資料庫不支援報告時區設定,請確保 Metabase 的時區與資料庫的時區相符。Metabase 的時區是 Java 虛擬機器的時區,通常透過
-Duser.timezone<..>
參數或JAVA_TIMEZONE
環境變數設定;其確切設定方式將取決於您啟動 Metabase 的方式。請注意,Metabase 的時區不會影響任何使用報告時區的資料庫。
SQL 查詢是否未遵循報告時區設定?
根本原因:我們目前未將報告時區套用至 SQL 查詢的結果。
採取步驟
在您的 SQL 查詢中明確設定報告時區。
例如,您可以使用 PostgreSQL 撰寫類似這樣的內容
SELECT column::TIMESTAMP AT TIME ZONE 'EST' AS column_est
此陳述式首先將欄轉換為 timestamp
資料類型,然後將 timestamp
轉換為 timestamptz
資料類型,時區為「EST」。
沒有明確時區的日期是否轉換為另一天?
根本原因:您正在依缺少時區的日期(而不是依時間)進行分組。
採取步驟
- 查看您的問題在資料模型參考中使用的每個時間欄位,並查看其中是否有任何欄位只是「日期」欄位。
- 如果是,請確保伺服器時區反映報告時區,因為在 Metabase 上執行查詢時,伺服器會將設定的時區套用至該日期。
您是否混合使用明確和隱含時區?
根本原因:您正在比較或對兩個日期執行算術運算,其中一個日期具有明確的時區,而另一個日期沒有。
採取步驟
- 這通常發生在使用多個欄位的問題中:例如,您正在篩選一個時間戳記,並依另一個時間戳記分組。檢查您在問題中使用的每個日期或時間的時區。
- 您需要為任何缺少明確時區的值明確設定時區。這需要透過 SQL 查詢或透過轉換資料庫中的資料來完成,以確保兩個時間戳記都具有時區。
閱讀其他Metabase 版本的文件。