# class - 脚本和图表功能

class 函数用于将第一个参数赋值给类别间隔。结果是一个 a&lt;=x&lt;b 的双值作为文本值，其中 a 和 b 为 bin 的上限值和下限值，且下界为数值。

语法：

class(expression, interval [ , label [ , offset ]])

返回数据类型： 双

参数

| 参数 | 说明 |
| --- | --- |
| interval | 指定 bin 宽的一个数字。 |
| label | 可替换结果文本中的“x”的任意字符串。 |
| offset | 可用作分类的默认起始点偏移量的一个数字。 默认起始点通常为 0。 |

示例：图表表达式

| 示例 | 结果 |
| --- | --- |
| `class( var,10<br>					)` 且 `var = 23` | 返回 `20<=x<30` |
| `class( var,5,'value'<br>					)` 且 `var = 23` | 返回 `20<= value <25` |
| `class(<br>							var,10,'x',5<br>					)` 且 `var = 23` | 返回 `15<=x<25` |

本主题中的一些示例使用内联加载。[使用内联加载来加载数据](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## 示例 - class 基本原理

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/class.htm)

#### 图表表达式

概览

加载了一个包含姓名和年龄的数据表。您希望按年龄组对人员进行分类（间隔十年），并提供每个组中的人数统计。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有以下字段：

  * `Age`

  * `Name`

加载脚本

```
Example:
LOAD * INLINE [
Age, Name
25, John
42, Karen
53, Yoshi
43, Bob
27, Charles
];
```

结果

1. 加载数据并打开工作表。创建两个新表。

2. 在第一个表中，执行以下操作：

   1. 添加以下维度：

      * `Age`

      * `Name`

   2. 创建以下度量：

      * `=class(Age, 10, 'age')`，用于将数据按年龄类别分类。

3. 在第二个表中，执行以下操作：

   1. 添加此表达式作为维度

      * `=class(Age, 10, 'age')`

   2. 创建以下度量：

      * `=Count(Age)`，用于计算年龄分类的人数。

第一个数据表显示了 `Name` 和 `Age` 的原始数据，以及他们被归入哪个年龄类别。

结果表 1

| Name | Age | class(Age, 10, 'age') |
| --- | --- | --- |
| Bob | 43 | 40 &lt;= age &lt; 50 |
| Charles | 27 | 20 &lt;= age &lt; 30 |
| John | 25 | 20 &lt;= age &lt; 30 |
| Karen | 42 | 40 &lt;= age &lt; 50 |
| Yoshi | 53 | 50 &lt;= age &lt; 60 |

在第二个表中，您可以看到数据现在是如何分类和汇总的。`class` 函数的结果在第一个度量中创建了 3 个年龄类别。第二个度量统计了每个年龄类别的人数。

结果表 2

| class(Age, 10, 'age') | Count(Age) |
| --- | --- |
| Totals | 5 |
| 20 &lt;= age &lt; 30 | 2 |
| 40 &lt;= age &lt; 50 | 2 |
| 50 &lt;= age &lt; 60 | 1 |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/class.htm)

#### 加载脚本

概览

加载了一个包含姓名和年龄的数据表。您想要添加一个用来根据以十年为时间间隔的年龄组对每位人员进行分类的字段。原始源表如下所示。

原始源表格原始源表格

| Name | Age |
| --- | --- |
| John | 25 |
| Karen | 42 |
| Yoshi | 53 |

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 前置加载语句，使用 class 函数创建名为 `Agegroup` 的新字段。

加载脚本

```
LOAD *,
class(Age, 10, 'age') As Agegroup;

LOAD * INLINE
[ Age, Name
25, John
42, Karen
53, Yoshi];
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* `Name`

* `Age`

* `Agegroup`

结果表表

| Name | Age | Agegroup |
| --- | --- | --- |
| John | 25 | 20 &lt;= age &lt; 30 |
| Karen | 42 | 40 &lt;= age &lt; 50 |
| Yoshi | 53 | 50 &lt;= age &lt; 60 |

新字段 `Agegroup` 将每个人按年龄类别分类。

## 示例 – class 场景

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/class.htm)

#### 图表表达式

概览

加载了一个包含客户数据的数据表。您希望根据获得的终身价值点数对客户进行分类，并提供每个类别中的客户数量。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有以下字段：

  * `CustomerID`

  * `CustomerName`

  * `LifetimeValue`

加载脚本

```
Example:
Load * Inline [
CustomerID, CustomerName, LifetimeValue
1, John Doe, 12500
2, Jane Smith, 36000
3, Sam Brown, 15000
4, Lisa White, 50000
5, Tom Harris, 22000
];
```

结果

1. 加载数据并打开工作表。创建两个新表。

2. 在第一个表中，执行以下操作：

   1. 添加以下维度：

      * `CustomerID`

      * `CustomerName`

      * `LifetimeValue`

   2. 创建以下计算维度：

      * `=Class(LifetimeValue, 10000, 'Lifetime Value Group')`，用于根据 `LifetimeValue` 字段对数据进行分类。

3. 在第二个表中，执行以下操作：

   1. 添加此表达式作为维度

      * `=Class(LifetimeValue, 10000, 'Lifetime Value Group')`

   2. 创建以下度量：

      * `=Count(CustomerID)`，用于计算年龄分类的人数。

第一个表显示了输入的原始数据和使用类函数的结果。

结果表 1

| CustomerID | CustomerName | LifetimeValue | Class(LifetimeValue, 10000, 'Lifetime Value Group') |
| --- | --- | --- | --- |
| 1 | John Doe | 12500 | 10000 &lt;= Lifetime Value Group &lt; 20000 |
| 2 | Jane Smith | 36000 | 30000 &lt;= Lifetime Value Group &lt; 40000 |
| 3 | Sam Brown | 15000 | 10000 &lt;= Lifetime Value Group &lt; 20000 |
| 4 | Lisa White | 50000 | 50000 &lt;= Lifetime Value Group &lt; 60000 |
| 5 | Tom Harris | 22000 | 20000 &lt;= Lifetime Value Group &lt; 30000 |

第二个表显示了如何对数据进行分类和汇总。使用 `class` 函数将数据分为四组，然后进行计数以显示每组中的客户数量。

结果表 2

| Class(LifetimeValue, 10000, 'Lifetime Value Group') | Count(CustomerID) |
| --- | --- |
| Totals | 5 |
| 10000 &lt;= Lifetime Value Group &lt; 20000 | 2 |
| 20000 &lt;= Lifetime Value Group &lt; 30000 | 1 |
| 30000 &lt;= Lifetime Value Group &lt; 40000 | 1 |
| 50000 &lt;= Lifetime Value Group &lt; 60000 | 1 |