# 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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

## 範例 - class 基礎事項

[](https://help.qlik.com/en-US/cloud-services/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/cloud-services/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/cloud-services/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 |