筛选器故障排除
始终建议先进行快速的健全性检查
- 清除浏览器缓存。
- 刷新页面。
- 在隐身窗口中打开你的问题或仪表板。
仪表盘筛选器
如果仪表板过滤器没有返回结果或返回错误的结果
- 点击铅笔图标进入编辑模式。
- 点击过滤器小部件旁边的齿轮图标。
- 确保你在“要过滤的列”下选择了一个列作为过滤器。
- 如果找不到正确的“要过滤的列”,或者应用过滤器时出现“无结果”
- 退出编辑模式,然后点击仪表板卡以进入原始问题。
- 按照问题过滤器下的故障排除步骤进行操作。
问题过滤器
如果问题过滤器没有返回结果或返回错误的结果
- 确保问题包含要过滤的列。
- 检查该列是否包含你正在过滤的值。你可以通过以下方式完成:
- 对数字或日期列进行排序,
- 为字符串列创建“包含”过滤器,或者
- 询问你的数据库管理员。
- 请你的 Metabase 管理员帮助你检查:
特殊情况
如果你在过滤
- 自定义列时遇到问题:检查自定义表达式是否按预期工作。例如,你的自定义表达式在你期望数字时可能返回空白值。
- SQL 字段过滤器:确保你使用的是正确的字段过滤器语法,然后参阅故障排除 SQL 变量。
解释
当我们首次设置过滤器时,我们需要将其链接到一列。如果我们对列的值或数据类型做出了错误的假设,过滤器将根本无法工作。如果数据库中的列发生更改,过滤器可能会突然停止工作。
例如,假设我们要创建一个名为“选择产品 ID”的过滤器,并将其链接到名为产品 ID的列。如果发生以下任何情况,过滤器将无法工作:
- 我们的问题不包含产品 ID列。
- 我们在“选择产品 ID”过滤器中输入数字 4,而产品 ID列仅包含值 1、2 和 3。
- 产品 ID在数据库或表元数据页面中重命名为其他名称。
- 产品 ID已从数据库中删除,或在表元数据页面中隐藏。
- 产品 ID是一个未按预期工作的自定义列。
- 我们没有访问产品 ID列的数据权限。
- 我们将“选择产品 ID”设置为数字过滤器,但产品 ID是一个字符串列(请参阅下面的部分)。
时间、ID 和数字过滤器
要调试涉及时间戳、UUID 或数字数据的仪表板和问题过滤器
- 找到要过滤的列的数据类型。你可以在以下位置找到此信息:
- 将该列转换为与所需过滤器类型匹配的数据类型。你可以:
- 从表元数据页面将字符串或数字转换为日期,或
- 更改数据库中列的数据类型,然后重新同步数据库架构。
如果你不是 Metabase 管理员,则可能需要请你的管理员帮助你完成其中一些步骤。
解释
Metabase 需要知道列的数据类型才能为你提供精选的过滤器类型列表。有时这些列的输入有误 — 如果一列将数字存储为字符串,Metabase 将只显示文本或类别过滤器(带有“是”、“不是”等选项),而不是数字过滤器(带有“大于”、“小于”等选项)。
特别是时间戳,它们是万恶之源,因此在尝试正确设置数据类型时,请耐心对待你的 Metabase 管理员(或你自己!)。
BigQuery 和 Oracle 中的字段过滤器
如果你在使用 BigQuery 或 Oracle 的字段过滤器时遇到错误,请确保为 FROM 子句使用正确的语法。请参阅BigQuery 和 Oracle 中的字段过滤器。
缺失或不正确的过滤器值
如果你的过滤器下拉菜单显示了错误的列值
- 转到管理员设置 > 表元数据。
- 找到你的数据库、表和列。
- 点击列设置框右侧的齿轮图标。
- 滚动到“缓存字段值”。
- 可选:点击“丢弃缓存的字段值”。
- 点击重新扫描此字段。
解释
Metabase 通过查询并缓存表中的前 1,000 条不重复记录来获取过滤器下拉菜单的值。如果你的表更新频率高于你的扫描计划,你可能会看到过时的过滤器值。Metabase 的扫描会查询并缓存。
相关主题
您还卡住了吗?
如果您无法使用故障排除指南解决问题
- 搜索或咨询 Metabase 社区。
- 搜索已知错误或限制。
阅读其他版本的 Metabase 的文档。