表元数据管理设置

Metabase 允许您添加和编辑表和列的元数据,以便在组织业务逻辑发生变化时对其进行管理。转到管理设置中的 表元数据 选项卡以

表元数据 管理设置仅影响数据在 Metabase 中的显示和解释方式。任何设置都不会更改数据库中的数据。

表格设置

单击左侧边栏中的表名,以查看 Metabase 中的表格设置。

如果您有多个数据库连接到 Metabase,请单击数据库名称(例如,“示例数据库”),然后从下拉菜单中选择另一个数据库。选择数据库后,该数据库中的表将显示在侧边栏中。

Table metadata

表格显示名称

要在 Metabase 中编辑表格的显示名称,请单击包含当前表格名称的框。一旦您单击框外,更改将自动保存。

表格描述

要添加表格描述,请单击表格名称下方的框。描述显示在 Metabase 的 数据参考 中,以帮助人们找到适合其用例的表格。

表格可见性

可查询 表格在整个 Metabase 中可见。

隐藏 表格不会显示在 查询构建器数据参考 中。但这并非安全功能:如果有人从 SQL 编辑器 编写 SELECT * FROM hidden_table,则隐藏表格仍可在 SQL 问题中使用。要阻止人们针对特定表格编写查询,请参阅 数据权限

提示:要隐藏数据库中的所有表格(例如,如果您已迁移到新数据库),请单击左侧边栏中“# 个可查询表格”旁边的隐藏眼睛图标。

原始架构

要提醒自己列名和数据类型在数据库中的存储方式,请单击原始架构(在可见性下方)。

Original schema

列(字段)设置

选择一个数据库,然后在侧边栏中单击一个表格的名称,以调出基本列显示设置

对于额外的列设置,请单击列设置框右侧的齿轮图标

Column settings

列名

要在 Metabase 中更改列的全局显示名称,请单击列的名称。例如,您可以将“auth.user”显示为“用户”,以使列更具可读性。人们可以使用 模型 为列提供模型本地的显示名称。

列描述

要添加描述,请单击列名下方的框。描述显示在 数据参考 中,以帮助人们理解列的值。如果您的列包含以下内容,则应考虑添加描述

  • 缩写或代码
  • 零值、空值或空白值
  • 占位符值,例如 9999-99-99

列可见性

随处可见:默认情况下,用户可以看到表格中的所有列。

仅在详细视图中 将从问题结果中隐藏冗长的文本。如果列的值的平均长度超过 50 个字符,则默认应用此设置。例如,如果您的列已包含“客户评分”,则可以在“客户评论”之类的列上使用此设置。

不包括 列将不会显示在查询构建器或数据参考中。您可以在敏感列(例如 PII)或不相关的列上设置“不包括”。但是,此可见性选项只是一个简单的省略/隐藏选项;它不是安全功能。具有原生查询权限的人员仍然可以访问这些列;他们可以在 SQL 编辑器 中编写 SELECT hidden_column FROM tableSELECT * from table,并且他们将能够查看这些字段及其值。要阻止人们查看某些列,请参阅 数据沙盒

列顺序

Metabase 默认为数据库架构中定义的列顺序。要手动重新排序问题结果和菜单中的列显示顺序,请单击每列右侧的抓取栏,并将列拖动到新位置。

自动对列进行排序,请单击第一列设置框右上角的排序图标。排序选项包括

  • 数据库。 (默认)列在数据库中显示的顺序。
  • 字母顺序。 A、B、C……按照字母表的工作方式。
  • 自定义。 您选择顺序。如果您重新排列任何列,Metabase 将自动将排序顺序切换为“自定义”。
  • 智能。 Metabase 为您选择。

字段类型

要更改列的 字段类型,请单击列设置框中的类型下拉菜单。您也可以使用类型下拉菜单将列标记为 Metabase 中的 实体键(主键)或 外键(对数据库没有影响)。

强制转换为特定数据类型

如果您希望 Metabase 将文本或数字列视为日期时间列

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 滚动到强制转换为特定数据类型
  5. 选择强制转换选项。

Metabase 目前仅支持在 强制转换为特定数据类型 中强制转换为日期时间类型。如果您需要强制转换为不同的类型(如浮点型),您可以 创建 SQL 问题 来强制转换数据,并 将其保存为模型,或者直接在数据库中创建视图。

文本到日期时间强制转换选项:

  • ISO8601->日期
  • ISO8601->日期时间
  • ISO8601->时间

数字到日期时间强制转换选项:

  • UNIX微秒->日期时间
  • UNIX毫秒->日期时间
  • UNIX纳秒->日期时间
  • UNIX秒->日期时间

强制转换与设置 字段类型 不同。例如,假设您有一个“创建时间”列,其在数据库中的 数据类型 为字符串。如果您想执行以下操作,则需要将“创建时间”强制转换为上述日期时间类型之一

  • 创建相对日期过滤器,例如“创建时间 = 上周”。
  • 将“创建时间”与 datetimeAdd 之类的公式一起使用。

表元数据管理设置强制转换数据类型不会影响数据库中的原始数据类型。

更改过滤器小部件

要更改列的 过滤器小部件

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 滚动到在此字段上过滤
  5. 选择一个过滤器小部件选项。

过滤器小部件选项

字段的 Is 过滤器的默认行为。

  • 搜索框:显示一个搜索框,并为该列中与搜索词匹配的值建议自动完成。
  • 所有值的列表:显示一个搜索框,以及一个下拉菜单中的值复选框列表,人们可以选择这些值作为搜索词。
  • 纯输入框:显示一个搜索框,但不建议自动完成。

将搜索框过滤器更改为下拉过滤器

下拉过滤器小部件可能比较挑剔,因为 Metabase 需要运行 扫描 以获取下拉菜单的值列表。

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 滚动到您的列。
  4. 在列的设置框中,将类型设置为“类别”。
  5. 在此字段上过滤设置为“所有值的列表”。

当您将默认过滤器更改为下拉过滤器时,您将触发一个数据库查询,该查询获取该列的前 1,000 个不同值(升序排列)。Metabase 将缓存前 100kB 的文本以显示在下拉菜单中。如果您的列包含超过 1,000 个不同的值,或者列包含大量文本数据,我们建议将在此字段上过滤设置为“搜索框”代替。

重新映射列值

假设您有一列的值为 1、2 和 3,并且您想将每个数字映射到值“低”、“中”和“高”。这种映射可以在具有数字或外键 字段类型 的列上完成。

重新映射数字

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 滚动到显示值
  5. 从下拉菜单中选择“自定义映射”。
  6. 映射值下输入显示值。

重新映射外键

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 滚动到显示值
  5. 从下拉菜单中选择“使用外键”。
  6. 从第二个下拉菜单中选择一个列名。
  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 从侧边栏中选择格式
  5. 显示为中,选择链接
  6. 可选:在链接文本下设置显示文本。
  7. 链接 URL 字段中输入 URL。
  8. 可选:通过添加列名作为 {{parameter}} 来创建动态 URL。

Format as URL

例如,如果您将“形容词”列的 链接 URL 设置为

https://www.google.com/search?q={{adjective}}

当有人单击“形容词”列中的值“歪斜”时,他们将被带到 Google 搜索 URL

https://www.google.com/search?q=askew

刷新或放弃缓存值

要更新过滤器下拉菜单中的值,请刷新或重置缓存的值。缓存操作包括

  • 重新扫描此表或字段 以运行手动扫描,查找新的或更新的列值。如果可能,请在非高峰时段重新扫描表格,因为 扫描 可能会降低数据库速度。
  • 放弃缓存的字段值 以清除缓存的值,并阻止它们显示在您的 过滤器小部件 中。

表格缓存操作

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击右上角的齿轮图标(在退出管理下方)。
  4. 选择一个缓存操作。

列缓存操作

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 滚动到缓存的字段值
  5. 选择一个缓存操作。

展开 JSON

如果 Metabase 支持您的数据库的 JSON 展开,您可以决定是否将 JSON 展开为组件字段,其中每个 JSON 键都成为一列。如果性能缓慢,您可以关闭此功能。

  1. 转到管理设置 > 表元数据
  2. 找到您的数据库和表格。
  3. 单击列设置框右侧的齿轮图标。
  4. 滚动到 展开 JSON
  5. 切换 JSON 展开。

延伸阅读

阅读其他 Metabase 版本的文档。