---
url: /v6.2/parameter-scenarios.md
---
# 参数使用场景

参数的作用是控制数据集中的数据，如数据内容、数据展示、数据使用权限等，所以参数应用与数据集密不可分。参数常常在以下场景使用。

* [数据集创建过程](#数据集创建过程)
* [数据集行权限控制](#数据集行权限控制)
* [数据集内容变更](#数据集内容变更)
* [数据集制作图表](#数据集制作图表)
* [参数控件](#参数控件)

## 数据集创建过程

数据集创建过程中会使用 SQL 语句、简单过滤、表达式过滤等操作进行数据过滤，在这些场景中可以使用参数灵活的控制过滤条件，使数据集的数据随参数动态变化。

### SQL 语句

SQL 语句中参数统一采用`{{%%参数名}}`的方式，此时仅对参数进行文本替换，不校验类型。 如图所示，通过参数`milestone_parameter`筛选`milestone`为2.5的数据。

![](/images/parameter/parameter-019.png)

SQL 语句仅在[SQL 查询](dataset-sqlscript.md)数据集中使用。

### 简单过滤

简单过滤的使用方法比较简单，直接在下拉框中选择参数即可。如图所示，通过参数`milestone_parameter`筛选`milestone`为2.5的数据。 简单过滤中参数类型需要与字段类型匹配。

![](/images/parameter/parameter-020.png)

[数据连接](dataset-connection.md)、[多表联合](dataset-fusion.md)、[数据合并](dataset-union.md)等数据集创建时可以在简单过滤中使用参数过滤数据。

### 表达式过滤

表达式过滤中使用参数时可以点击左侧下方的参数将其填充到表达式文本框中。如图所示，参数`milestone_parameter`的默认值为2.5，使用表达式`{milestone} = {{%milestone_parameter}}`对数据进行过滤，筛选出 milestone 为2.5的数据，创建新的数据集。

![](/images/parameter/parameter-021.png)

[数据连接](dataset-connection.md)、[多表联合](dataset-fusion.md)中可以在表达式过滤中使用参数控制数据。

## 数据集行权限控制

数据行权限可以使用参数动态地控制用户使用数据的范围。如图所示，通过参数控制数据集`来点明细1`对 A 用户组开放的数据内容，当参数值`开始日期`变化时，A 用户组看到的内容也随之变化。
![](/images/parameter/parameter-026.png)

## 数据集内容变更

数据集中新建字段和新建指标时，可以使用参数编辑字段和指标内容。

* 新建字段时使用参数实现了动态字段，当参数值变化时，动态字段会随之变化，在计算、作图时选取最新的内容。
  ![](/images/parameter/parameter-new-field.png)

* 新建指标时使用参数实现了动态指标，指标随着参数值变化而变化，如图所示。
  ![](/images/parameter/parameter-metric.png)

## 数据集制作图表

在仪表盘中制作图表时，可以使用参数控制字段显示内容。 如图所示在图表过滤器中，使用参数表达式

```
{{来电明细1}}.{来电开始时间} >= {{%开始日期}} AND {{来电明细1}}.{来电开始时间} <= {{%截止日期}}
```

控制`来电开始时间`字段内容，从而控制图表的显示内容。

![](/images/parameter/parameter-027.png)

## 参数控件

参数控件通过调整参数值控制仪表盘内图表的显示。如图所示，调整时间参数值可以获取不同时间数据信息。请阅读[参数控件](parameter-control.md)章节了解参数如何通过参数控件控制图表显示。

![](/images/parameter/parameter-025.gif)

## 参数使用小结

参数应用场景很多，请注意在 SQL 语句和表达式过滤中使用形式不同。

1. 参数在 SQL 语句中使用形式为`{{%%参数名}}`。
2. 参数在表达式中使用形式为`{{%参数名}}`。
