筛选条件问题排查

始终建议先进行快速的健全性检查

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

仪表板筛选条件

如果仪表板筛选条件未提供任何结果或结果不正确

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

问题筛选条件

如果问题筛选条件未提供任何结果或结果不正确

  1. 确保问题包含您要筛选的列。
  2. 检查该列是否实际包含您要筛选的值。您可以通过以下方式执行此操作
    • 对数字或日期列进行排序,
    • 为字符串列创建“包含”筛选条件,或者
    • 咨询您的数据库管理员。
  3. 请您的 Metabase 管理员帮助您检查
    • Metabase 是否与您的数据库同步到最新状态,
    • 该列在 Metabase 中是否可见
    • 您是否拥有访问该列的正确数据权限

特殊情况

如果您在筛选

说明

当我们首次设置筛选条件时,我们需要将筛选条件链接到一列。如果我们对列的值或数据类型做出错误的假设,则筛选条件将根本不起作用。如果数据库端的列发生更改,则筛选条件可能会突然停止工作。

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

  • 我们的问题不包含“产品 ID”列。
  • 当“产品 ID”列仅包含值 1、2 和 3 时,我们在“选择产品 ID”筛选条件中键入数字 4。
  • 产品 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 版本的文档。