時區
Metabase 盡力確保在您想要的任何時區中提供適當且準確的報告。但時區是很神秘的東西。
時區設定
以下設定時區的位置都可能影響您看到的資料
Database
- 包括全域資料庫時區設定、特定欄位類型設定,甚至個別資料值。OS & JVM
- 在執行 Metabase 的任何系統上,作業系統和 Java 虛擬機器的時區設定都可能影響您的報告。Metabase
- 在 Metabase 內部,報告時區設定(如果已設定)會影響資料的報告方式。Metabase Cloud
- 託管 Metabase Cloud 執行個體的伺服器上的時區。
建議設定
為確保正確報告,重要的是在所有位置一致地設定時區。Metabase 建議以下設定
- 請確認您的所有資料庫欄位都已正確設定為包含時區感知。
- 除非您有特殊需求,否則最好將資料庫報告時區設定為 UTC,並將所有日期/時間相關值儲存在 UTC 中。
- 將 JVM 設定為使用您想要用於報告的時區,理想情況下,這也應與資料庫的時區相符。
- 將 Metabase
Report Timezone
設定為符合您想要在報告中看到的時區,同樣地,這應該與您進行的其他時區設定相符。 - 如果您想要變更 Metabase Cloud 時區,請聯絡支援。
資料類型
您可以將資料庫欄位儲存為特定資料類型,使其具有時區感知能力,例如
資料類型 | 描述 | 範例 |
---|---|---|
timestamp with time zone |
知道位置。 | 2022-12-28T12:00:00 AT TIME ZONE 'America/Toronto' |
timestamp with offset |
知道與 UTC 的時間差。 | 2022-12-28T12:00:00-04:00 |
timestamp without time zone |
沒有時區資訊。 | 2022-12-28T12:00:00 |
確切的資料類型將取決於您的資料庫。某些 Metabase 功能僅適用於特定資料類型
常見的陷阱
- 您的資料庫正在使用沒有任何時區資訊的日期/時間欄位。通常,當發生這種情況時,您的資料庫會假設所有資料都來自資料庫中設定的任何時區,或者可能只是預設為 UTC(請查看您的資料庫供應商以確定)。
- 您的 JVM 時區與您選擇的 Metabase
Report Timezone
不同。這是一個非常常見的問題,可以透過啟動 java 時正確設定-Duser.timezone=<timezone>
選項以符合您的 Metabase 報告時區來修正。
如果您仍然遇到時區問題,請查看時區疑難排解指南。
閱讀其他Metabase 版本的文件。