# Count - 圖表函數

Count() 用來彙總每一個圖表維度中值、文字及數值的數目。

語法：

Count({[SetExpression] [DISTINCT] [TOTAL [&lt;fld {,fld}&gt;]]} expr)

傳回的資料類型： 整數

引數

| 引數 | 描述 |
| --- | --- |
| expr | 包含待測量之資料的運算式或欄位。 |
| SetExpression | 依預設，彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。 |
| DISTINCT | 如果 DISTINCT 這個字出現在函數引數之前，會忽略評估函數引數所產生的重複項目。 |
| TOTAL | 如果單字 TOTAL 位於函數引數之前，則會在提供現行選項的所有可能值上進行計算，而不僅僅是關於目前維度值的那些選項，也就是說，它會忽略圖表維度。<br><br>透過使用 TOTAL [&lt;fld {.fld}&gt;] (其中 TOTAL 限定詞後面是做為圖表維度變數子集之一或更多欄位名稱的清單)，您可建立總可能值的子集。<br><br>[定義彙總範圍](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `Count(OrderNumber)` | 傳回可能具有 `OrderNumber` 值的列數。所有記錄，甚至空的記錄，都會計算在內。<br><br>資訊備註"0" 計為某個值，而不是空的儲存格。然而，如果某個維度的量值彙總為 0，則該維度不會包括在圖表中。 |
| `Count(Customer)` | 評估所有列的出現次數。 |
| `Count(DISTINCT [Customer])` | `DISTINCT` 限定詞限制 `Count` 僅評估唯一出現的次數。 |
| `Count(OrderNumber)/Count({1} TOTAL OrderNumber)` | 運算式會從所選客戶傳回訂單數，作為來自所有客戶的訂單百分比。 |
| `Count(TOTAL <Product> OrderNumber)` | 僅傳回所選客戶的產品訂單數量。空儲存格也計算在內。 |

## 範例 - Count 基礎事項

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/CounterAggregationFunctions/count.htm)

#### 圖表運算式

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `Customer`

  * `Product`

  * `OrderNumber`

  * `UnitSales`

  * `UnitPrice`

載入指令碼

```
Example:
LOAD * inline [
Customer|Product|OrderNumber|UnitSales|UnitPrice
Astrida|AA|1|4|16
Astrida|AA|7|10|15
Astrida|BB|4|9|9
Betacab|CC|6|5|10
Betacab|AA|5|2|20
Betacab|BB|1|25| 25
Canutility|AA|3|8|15
Canutility|CC|||19
Divadip|CC|2|4|16
Divadip|DD|3|1|25
](delimiter is '|');
```

結果

載入資料並開啟工作表。建立新的表格並將此欄位新增為維度：

* `Customer`

建立下列量值：

* `=Count(OrderNumber)`，用來計算訂單數量。

* `=Count(Customer)`，用來計算客戶記錄的數量。

* `=Count(DISTINCT Customer)`，用來計算相異客戶的數量。

* `=Count(OrderNumber)/Count({1} TOTAL OrderNumber)`，用來計算所選客戶的訂單占客戶訂單總數的比例。

* `=Count(TOTAL <Product> OrderNumber)`，用來計算僅針對所選客戶產品下訂的訂單數量 (空儲存格納入計算)。

Results table

| Customer | Count(OrderNumber) | Count(Customer) | Count(DISTINCT Customer) | Count(OrderNumber)/Count({1} TOTAL OrderNumber) | Count(TOTAL &lt;Product&gt; OrderNumber) |
| --- | --- | --- | --- | --- | --- |
| Totals | 10 | 10 | 4 | 1 | 10 |
| Astrida | 3 | 3 | 1 | 0.3 | 10 |
| Betacab | 3 | 3 | 1 | 0.3 | 10 |
| Canutility | 2 | 2 | 1 | 0.2 | 10 |
| Divadip | 2 | 2 | 1 | 0.2 | 10 |

從結果來看，我們可以觀察到以下事項：

* 第一個量值：資料集中有 `10` 筆訂單記錄。

* 第二個量值：資料集中有 `10` 筆客戶記錄。

* 第三個量值：資料集中有 `4` 個相異 (唯一) 客戶。

* 第四個量值：傳回 `1`，因為未套用任何選項。如果選取客戶 `Canutility`，則值會變更為 `0.2`，因為此客戶有 `2` 筆訂單記錄，而資料集中共有 `10` 筆記錄。

* 第五個量值：傳回 `10`，因為未套用任何選項。如果您選取客戶 `Astrida` 和 `Canutility`，值會變更為 `5`，因為這是針對這些客戶產品下訂的訂單數量 (空儲存格也納入計數)。

## 範例 - 使用 Count 尋找每種產品的銷售數量

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/CounterAggregationFunctions/count.htm)

#### 圖表運算式

概述

資料集包含商店銷售資料。您想要尋找每種產品的銷售數量。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `Product`

  * `Sales`

  * `Region`

  * `Status`

載入指令碼

```
Example:
Load * inline [
Product,Sales,Region,Status
Apple, 100, North, Completed
Banana, 80, South, Pending
Carrot, 50, East, Completed
Apple, 120, North, Completed
Banana, 90, South, Completed
Carrot, 60, West, Pending
Apple, 110, North, Completed
Banana, 85, South, Completed
Carrot, 55, East, Pending
];
```

結果

載入資料並開啟工作表。建立新的表格並將此欄位新增為維度：

* `Product`

建立下列量值：

* `=Count(Sales)`，用來計算每種產品的銷售數量。

* `=Count({<Status={'Completed'}>} Sales)`，用來計算訂單已完成的銷售數量。

* `=Count({<Status={'Pending'}>} Sales)`，用來計算訂單仍待處理的銷售數量。

* `=Count({<Region={'North'}>} Sales)`，用來計算 `North` 地區的訂單數量。

Results table

| Product | Count(Sales) | Count({&lt;Status={'Completed'}&gt;} Sales) | Count({&lt;Status={'Pending'}&gt;} Sales) | Count({&lt;Region={'North'}&gt;} Sales) |
| --- | --- | --- | --- | --- |
| Totals | 9 | 6 | 3 | 3 |
| Apple | 3 | 3 | 0 | 3 |
| Banana | 3 | 2 | 1 | 0 |
| Carrot | 3 | 1 | 2 | 0 |

`Count` 函數的輸出傳回依產品劃分的銷售訂單總數，以及已完成的訂單數量和仍待處理的訂單數量。最後一個量值傳回 `North` 地區的銷售記錄數量。