排查过滤器

快速进行一项健全性检查总是一个好主意

  1. 清除浏览器缓存。
  2. 刷新页面。
  3. 在无痕窗口中打开您的问题或仪表板。

仪表板过滤器

如果仪表板过滤器没有结果或结果不正确

  1. 点击铅笔图标进入编辑模式。
  2. 点击过滤器小部件旁边的齿轮图标。
  3. 请确保您已在要筛选的列下为过滤器选择了列。
  4. 如果您找不到正确的要筛选的列,或者应用过滤器时出现“无结果”
    • 退出编辑模式,然后点击仪表板卡片以转到原始问题
    • 按照问题过滤器下的故障排除步骤操作。

问题过滤器

如果问题过滤器没有结果或结果不正确

  1. 确保问题中包含您要筛选的列。
  2. 检查列是否确实包含您正在筛选的值。您可以通过以下方式进行检查:
    • 对数字或日期列进行排序,
    • 为字符串列创建“包含”过滤器,或
    • 咨询您的数据库管理员。
  3. 请您的 Metabase 管理员帮助您检查以下事项:

特殊情况

如果您在筛选时遇到问题

解释

当我们首次设置过滤器时,需要将过滤器链接到某一列。如果我们对列的值或数据类型做出错误假设,过滤器将完全不起作用。如果列在数据库端发生更改,过滤器可能会突然停止工作。

例如,假设我们要创建一个名为“选择产品 ID”的过滤器,并将其链接到名为产品 ID 的列。如果发生以下任何情况,该过滤器将不起作用:

  • 我们的问题不包含产品 ID 列。
  • 我们将数字 4 输入到“选择产品 ID”过滤器中,而产品 ID 列只包含值 1、2 和 3。
  • 产品 ID 在数据库或表元数据页面中被重命名。
  • 产品 ID 从数据库中删除,或在表元数据页面中隐藏。
  • 产品 ID 是一个未按预期工作的自定义列。
  • 我们没有访问产品 ID 列的数据权限。
  • 我们将“选择产品 ID”设置为数字过滤器,但产品 ID 是一个字符串列(请参阅下文)。

时间、ID 和数字过滤器

调试涉及时间戳、UUID 或数字数据的仪表板和问题过滤器

  1. 找到您想要筛选的列的数据类型。您可以从以下位置找到此信息:
  2. 将列转换为与所需过滤器类型匹配的数据类型。您可以:

如果您不是 Metabase 管理员,您可能需要请您的管理员协助您完成其中一些步骤。

解释

Metabase 需要知道列的数据类型,才能为您提供精选的过滤器类型。有时这些列的类型会被错误识别——如果某个列将您的数字存储为字符串,Metabase 将只显示文本或类别过滤器(选项如“是”、“不是”),而不是数字过滤器(选项如“大于”、“小于”)。

特别是时间戳,是所有问题的根源,因此在尝试正确获取数据类型时,请对您的 Metabase 管理员(或您自己!)保持耐心。

BigQuery 和 Oracle 中的字段过滤器

如果您在使用 BigQuery 或 Oracle 的字段过滤器时遇到错误,请确保您对 FROM 子句使用了正确的语法。请参阅BigQuery 和 Oracle 中的字段过滤器

过滤器值缺失或不正确

如果您的过滤器下拉菜单显示列的错误值

  1. 前往管理设置 > 表元数据
  2. 找到您的数据库、表和列。
  3. 点击列设置框右侧的齿轮图标。
  4. 滚动到缓存字段值
  5. 可选:点击丢弃缓存字段值
  6. 点击重新扫描此字段

解释

Metabase 扫描通过查询和缓存表中前 1,000 条不同记录来获取过滤器下拉菜单的值。如果您的表更新频率高于您的扫描计划,您可能会看到过时的过滤器值。

您仍然遇到问题吗?

如果您无法使用故障排除指南解决问题

阅读其他Metabase 版本的文档。

© . All rights reserved.