SQL 参数

Variables

您可以通过在 SQL 查询中添加参数(也称为变量)来创建 SQL 模板,操作方法请参见原生/SQL 编辑器

这些变量会生成小部件,用户可以使用这些小部件来输入变量的值。您也可以将仪表板小部件连接到这些参数

SQL 变量类型

定义变量后,将出现变量和参数侧边栏。您可以为变量设置类型,这会改变 Metabase 显示的筛选器小部件的类型。

变量类型包括

  • 字段筛选器变量:创建带有日期选择器或下拉菜单的“智能”筛选器小部件。要使用字段筛选器,您需要连接到查询中包含的数据库字段。
  • 基本变量:文本、数字和日期变量。您几乎总是希望使用字段筛选器而不是这些基本变量,因为字段筛选器创建的是“智能”筛选器小部件,但 Metabase 提供这些基本变量以应对您无法使用字段筛选器的情况。
  • 时间分组参数:允许用户更改按日期列分组结果的方式:按月、周、天等。

您可以在单个查询中包含多个变量,Metabase 会为问题添加多个小部件。要重新排列小部件的顺序,请进入编辑模式,点击任意小部件并拖动它。

配置筛选器小部件

当您将字段筛选器变量或基本变量添加到 SQL 代码中时,您需要在侧边栏中进行配置。

  1. 设置筛选器小部件类型。选项将取决于您使用的是字段筛选器(首选)还是基本变量(如果您无法使用字段筛选器)。
  2. 设置筛选器小部件标签。
  3. 设置用户应如何筛选此变量?
    • 下拉列表。下拉列表显示字段的所有可用值,可供选择。
    • 搜索框。搜索框允许用户键入以搜索特定值。
    • 输入框。输入框提供一个简单的文本字段用于输入值。
  4. 如果筛选器映射到已别名的表的字段,您需要指定表和字段别名
  5. 可选,设置默认筛选器小部件值

查看筛选器小部件

设置 SQL 变量的值

要将 SQL 变量设置为某个值,您可以

  • 筛选器小部件中输入值,然后重新运行查询。
  • 将参数添加到 URL 并加载页面。

通过 URL 设置参数

要将值添加到 URL,请遵循以下语法

?variable_name=value

例如,要将问题的 {{category}} 变量设置为“Gizmo”,您的 URL 将类似于

https://metabase.example.com/question/42-eg-question?category=Gizmo

要设置多个变量,请使用与符号(&)分隔参数

https://metabase.example.com/question/42-eg-question?category=Gizmo&maxprice=50

将 SQL 问题连接到仪表板筛选器

为了使 SQL/原生问题可用于仪表板筛选器,该问题必须至少包含一个变量或参数。

可与 SQL 问题结合使用的仪表板筛选器的类型取决于字段。例如,如果您有一个名为 {{var}} 的字段筛选器,并且将其映射到具有 State 语义类型的字段,则可以将位置仪表板筛选器映射到您的 SQL 问题。在此示例中,您将

  1. 创建新仪表板(或转到现有仪表板)。
  2. 点击铅笔图标进入仪表板编辑模式
  3. 添加包含 State 字段筛选器的 SQL 问题。
  4. 添加新仪表板筛选器(或编辑现有位置筛选器)。
  5. 点击 SQL 问题卡片上的下拉菜单,将小部件连接到 State 字段筛选器。

如果您向问题添加了基本的日期变量(即非字段筛选器),则只能使用仪表板筛选器选项单一日期。因此,如果您尝试在仪表板上使用其他时间选项,则需要将变量更改为字段筛选器并将其映射到日期字段。

Field filter

延伸阅读

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想改进这些文档?提议更改。
© . This site is unofficial and not affiliated with Metabase, Inc.