为原生代码筛选和参数小部件
当您在原生/SQL 查询中添加一个 SQL 变量或参数 时,Metabase 会在查询顶部添加一个小部件,供用户设置变量的值。
如何创建不同类型的筛选器和小部件
当您创建字段筛选器小部件时,Metabase 显示的筛选器小部件的类型取决于 Metabase 中该字段的设置,称为“**对此字段进行筛选**”。管理员可以将此字段选项设置为
日期字段将具有简单的日期筛选器(用于日期变量)或动态日期选择器(用于映射到日期字段的字段筛选器)。
如果您想更改特定字段的默认筛选器小部件,您需要请求管理员在 表元数据 中更新该字段,并设置所需的“对此字段进行筛选”选项。
对于下拉列表和搜索框,您还可以自定义列表中可用的值。请参阅下文。
输入框
- 在查询中包含 SQL 变量。
- 将“**变量类型**”设置为“**字段筛选器**”。如果查询缺少数据库字段,您也可以根据要筛选的内容使用文本或数字类型。
- 将“**要映射的字段**”设置为适当的字段(仅当您选择了字段筛选器变量类型时)。
- 将“**筛选器小部件运算符**”设置为您想要的任何 运算符。
- 将“**用户应如何对此变量进行筛选**”设置为“输入框”。
搜索框
- 在查询中包含 SQL 变量。
- 将“**变量类型**”设置为“**字段筛选器**”。如果查询缺少数据库字段,您也可以根据要筛选的内容使用文本或数字类型。
- 将“**要映射的字段**”设置为“类别”类型的字段(仅当您选择了字段筛选器变量类型时)。
- 将“**筛选器小部件运算符**”设置为您想要的任何 运算符。
- 将“**用户应如何对此变量进行筛选**”设置为“搜索框”。如果您不使用字段筛选器,则需要编辑搜索框设置以 告知 Metabase 从何处获取要搜索的值。
为防止 SQL 注入攻击,Metabase 会将搜索框中的任何内容转换为字符串。如果您想使用通配符,请查看 [我们的学习文章][sql-variables]。
下拉菜单和搜索
要创建带有搜索和值列表的下拉菜单
- 在查询中包含变量。
- 将“**变量类型**”设置为“**字段筛选器**”。如果查询缺少数据库字段,您也可以根据要筛选的内容使用文本或数字类型。
- 将“**要映射的字段**”设置为适当的字段(仅当您选择了字段筛选器变量类型时)。
- 将“**筛选器小部件运算符**”设置为您想要的任何 运算符。
- 将“**用户应如何对此变量进行筛选**”设置为“下拉列表”。如果您不使用字段筛选器,则需要编辑下拉列表设置以 告知 Metabase 从何处获取要在下拉列表中列出的值。
如果该列中有太多不同的值以至于无法在下拉菜单中显示,Metabase 将会改用搜索框。因此,如果您有很多电子邮件地址,可能仍然会得到一个搜索框。当要选择的值较少时(例如,美国五十个州),下拉菜单小部件效果更好。
自定义下拉列表和搜索框的值
添加下拉菜单或搜索框时,您可以告诉 Metabase 用户在使用带有下拉列表或搜索框的筛选器时可以选择哪些值。
- 添加下拉列表或搜索框。
- 在您选择的选项旁边,点击“**编辑**”。
- Metabase 将会弹出一个模态框,您可以在其中选择“**值应来自何处**”。
您可以选择
- “**来自已连接字段**”。如果您选择了字段筛选器变量类型,您还可以选择使用已连接的字段。
- “**来自其他模型或问题**”。如果选择此选项,您需要选择一个模型或问题,然后选择该模型或问题中的一个字段,Metabase 将使用该字段为该下拉列表或搜索框提供值。例如,如果您想让下拉列表列出账户可能拥有的不同计划,您可以选择您创建的“账户”模型,并选择“计划”字段来支持该下拉列表。然后,该下拉列表将列出“账户”模型“计划”列中出现的所有不同的计划选项。
- “**自定义列表**”。每行输入一个项目。您可以输入任何您想要的字符串值。
您还可以 更改仪表板筛选器的可选值。
在筛选器小部件中设置默认值
在变量侧边栏中,您可以为变量设置默认值。此值将默认插入到相应的筛选器小部件中(即使筛选器小部件为空)。
要覆盖默认值,请在筛选器小部件中插入新值。
要求筛选器小部件必须有值
在“**变量**”设置侧边栏中,您可以切换“**始终要求值**”选项。如果启用此选项
- 您必须输入默认值。
- 默认值将覆盖您代码中的任何 可选语法(例如可选的
WHERE子句)。如果未向筛选器传递值,Metabase 将使用默认值运行查询。点击编辑器中的“**眼睛**”图标即可预览 Metabase 将运行的 SQL。
筛选器小部件运算符
对于文本、数字和日期筛选器小部件,您需要选择一个筛选运算符。
文本
筛选运算符选项包括
- 字符串是
- 字符串不是
- 字符串包含
- 字符串不包含
- 字符串开头是
- 字符串结尾是
数字
筛选运算符选项包括
- 等于
- 不等于
- 介于
- 大于或等于
- 小于或等于
日期
筛选运算符选项包括
- 月和年
- 季度和年
- 单个日期
- 日期范围
- 相对日期
- 所有选项。Metabase 将为您提供一个菜单,您可以在其中选择如何筛选日期:按范围、相对日期等。
阅读其他版本的 Metabase 的文档。