基本 SQL 参数

如果您想在查询中对数据库字段进行筛选,应优先使用字段筛选器变量,它需要不同的语法。

文本、数字和日期变量可让您将基本值插入到 SQL 代码中。

要向 SQL 查询添加基本变量,请将变量括在双大括号中:{{variable_name}}

此示例定义了一个名为 category_filter 的**文本**变量(但您可以随意命名该变量)。


SELECT
  count(*)
FROM
  products
WHERE
  category = {{category_filter}};

这些基本变量只是将筛选小部件设置的值插入到代码的占位符中。基本变量的语法与字段筛选器不同。

以下是字段筛选器的语法:


WHERE
  {{category}}

而基本变量语法包含一个 = 运算符。


WHERE
  category = {{category}};

在这里,我们不将变量连接到数据库字段,而只是将值插入到变量中。

Metabase 将读取变量并在查询中附加一个筛选小部件,人们可以使用它来更改插入到 category 变量中的值。因此,如果有人在筛选小部件中输入“Gizmo”,Metabase 将运行的查询是:

SELECT
  count(*)
FROM
  products
WHERE
  category = 'Gizmo';

如果您正在编写原生 MongoDB 查询,您的查询将更像这样,其中 category 变量在 match 子句中定义:

[{ $match: { category: {{category}} } }]

允许用户选择多个值的基本变量

Basic variable with multiple values

要让用户在变量中插入多个值,您需要编写代码,以便多个值在插入代码中时有意义。最常见的方法是使用带 INWHERE 子句:


SELECT
  *
FROM
  products
WHERE
  category IN ({{category_vars}});

代码就位后,您需要将**人们可以选取**的设置设为多个值。不过,在这种情况下,您最好使用字段筛选器

基本 SQL 变量提供的筛选器类型选项有限

  • **文本**:一个普通输入框
  • **数字**:一个普通输入框
  • **日期**:一个简单的日期选择器
  • **布尔值**:一个“是”或“否”的选择器。

如果您想要一个更具表现力的筛选小部件,如动态日期选择器,您应该使用字段筛选器变量

使变量成为可选

请参阅可选变量

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

这有帮助吗?

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