时区

Metabase 尽力确保在您想要的任何时区下都能进行准确的报告。但时区是神秘的生物。

时区设置

以下设置时区的地方都会影响您看到的数据

  • 数据库 - 包括全局数据库时区设置、特定列类型设置,甚至是单个数据值。
  • 操作系统和 JVM - 在运行 Metabase 的任何系统上,操作系统的时区设置以及 Java 虚拟机 (JVM) 的时区设置都可能影响您的报告。
  • Metabase - 在 Metabase 内部,报告时区设置(如果已设置)将影响您的数据报告方式。
  • Metabase Cloud - 托管您的 Metabase Cloud 实例的服务器上的时区。

为确保报告准确,在所有地方设置一致的时区非常重要。Metabase 推荐以下设置:

  • 确保您的所有数据库列都已正确设置为支持时区感知
  • 除非您有特殊需求,否则最好将数据库报告时区设置为 UTC,并将所有日期/时间相关值存储在 UTC。
  • 配置您的 JVM 以使用您希望用于报告的相同时间,理想情况下,这也应该与您的数据库的时区匹配。
  • 将 Metabase 的报告时区设置为您希望看到的报告的时区,同样,这应该与您所做的所有其他时区设置相匹配。
  • 如果您想更改 Metabase Cloud 的时区,请联系支持

数据类型

您可以通过将数据库列存储为特定数据类型来使其支持时区,例如:

数据类型 描述 示例
带时区的时间戳 了解位置信息。 2022-12-28T12:00:00 AT TIME ZONE 'America/Toronto'
带偏移量的时间戳 了解与 UTC 的时差。 2022-12-28T12:00:00-04:00
不带时区的时间戳 没有时区信息。 2022-12-28T12:00:00

确切的数据类型将取决于您的数据库。某些 Metabase 功能仅支持特定数据类型。

常见陷阱

  1. 您的数据库正在使用没有时区信息的日期/时间列。通常情况下,当发生这种情况时,您的数据库会假设所有数据都来自数据库配置的时区,或者可能默认为 UTC(请检查您的数据库供应商以确定)。
  2. 您的 JVM 时区与您选择的 Metabase 报告时区不同。这是一个常见问题,可以通过使用正确设置的 -Duser.timezone=<timezone> 选项启动 Java 来解决,使其与您的 Metabase 报告时区匹配。

如果您仍然遇到时区问题,请查阅时区故障排除指南

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想改进这些文档?提议更改。
© . This site is unofficial and not affiliated with Metabase, Inc.