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