# Max - 圖表函數

Max() 會找到已彙總之資料中的最高值。透過指定 rank n，可以找到第 n 個最高的值。

提示備註您可能也想瞭解 FirstSortedValue 和 RangeMax，它們具有類似 Max 函數的功能。

語法：

Max([{SetExpression}] [TOTAL [&lt;fld {,fld}&gt;]] expr [,rank])

傳回的資料類型： 數值

引數

| 引數 | 描述 |
| --- | --- |
| expr | 包含待測量之資料的運算式或欄位。 |
| rank | rank 預設值為 1，這對應於最大值。將 rank 指定為 2，將傳回第二個最大值。如果 rank 為 3，將傳回第三個最大值，依此類推。 |
| SetExpression | 依預設，彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。 |
| 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) |

範例：圖表運算式

| 範例 | 結果 |
| --- | --- |
| `Max(UnitSales)` | 傳回 `UnitSales` 欄位中的最高值。 |
| `Max(UnitSales*UnitPrice)` 訂單值的計算方式為售出單位數 (`UnitSales`) 乘以單位價格。 | 傳回計算所有 (`UnitSales`)\*(`UnitPrice`) 可能值結果的最高值。 |
| `Max(UnitSales, 2)` | 傳回次高的值。 |
| `Max(TOTAL UnitSales)` | `TOTAL` 限定詞表示找到最高的可能值，忽略圖表維度。針對具有 `Customer` 作為維度的圖表，`TOTAL` 限定詞會確認傳回完整資料集間的最大值，而非各客戶的最大 `UnitSales`。 |
| `Max({1} TOTAL UnitSales)` | 集合分析運算式 `{1}` 會定義要評估為 `ALL` 的記錄組合，與選取的任何選項無關。例如，如果選取了特定客戶，這仍將傳回整個資料集的最大 `UnitSales`。 |

## 範例 - Max 基礎事項

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

#### 圖表運算式

概述

資料集包含依月份劃分的產品銷售數據。我們想要確定每種產品的最大銷售值以及發生這種情況的月份。

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

載入指令碼包含：

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

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

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

載入指令碼

```
Example:
LOAD * inline [
Customer|UnitSales|UnitPrice
Astrida|4|16
Astrida|10|15
Astrida|9|9
Betacab|5|10
Betacab|2|20
Betacab||25
Canutility|8|15
Canutility||19
] (delimiter is '|');
```

結果

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

* `Customer`

建立下列量值：

* `=Max(UnitSales)`，用來計算最大 `UnitSales` 值。

* `=Max(UnitSales*UnitPrice)`，用來逐列計算 `UnitSales` 乘以 `UnitPrice` 後的最大值。

* `=Max(UnitSales, 2)`，用來計算次高值。

* `=Max(TOTAL UnitSales)`，無論圖表維度如何，都用來計算最高總計。

* `=Max({1} TOTAL UnitSales)`，用來計算最高總計，忽略所有選項。

Results table

| Customer | Max(UnitSales) | Max(UnitSales\*UnitPrice) | Max(UnitSales, 2) | Max(TOTAL UnitSales) | Max({1} TOTAL UnitSales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 10 | 150 | 9 | 10 | 10 |
| Astrida | 10 | 150 | 9 | 10 | 10 |
| Betacab | 5 | 50 | 2 | 10 | 10 |
| Canutility | 8 | 120 | - | 10 | 10 |

在此範例中，請觀察以下事項：

* 在第一個量值 (`Max(UnitSales)`) 中，客戶 `Astrida` 的 `UnitSales` 最高值為 `10`。此欄中的 `Totals` 儲存格傳回 `10`，因為此值也是整個資料集中最高的 `UnitSales` 值。

* 在第二個量值 (`Max(UnitSales*UnitPrice)`) 中，為 `150` 傳回 `Astrida`。將 `UnitSales` 乘以 `UnitPrice` 時，這是該客戶的最高值。此欄的 `Totals` 儲存格也傳回 `150`，因為這也是整個資料集中最高的計算值。

* 在第三個量值 (`Max(UnitSales, 2)`) 中，客戶 `Astrida` 的 `UnitSales` 次高值為 `9`。此值也是所有三個客戶的次高值，因此 `Totals` 列也傳回 `9`。

* 第四個量值 (`Max(TOTAL UnitSales)`) 傳回值 `10`。這是獨立於客戶維度找到的最高值，因此所有列都傳回相同的值。不過，如果您選取客戶 `Betacab`，則表格只會傳回該客戶的值，在本案例中為 `5`，因為這是 `Betacab` 在所有產品中最高的 `UnitSales`。

* 第五個量值 (`Max({1} TOTAL UnitSales)`) 無論選取哪個 `Customer` 都會傳回值 `10`，因為使用了集合修改 `{1}`。例如，如果您選取 `Betacab`，則此欄將繼續傳回值 `10`。

## 範例 - 依月份計算最高銷售額的 Max 使用情境

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

#### 圖表運算式

概述

資料集包含依月份劃分的產品銷售數據。銷售經理想要確定每種產品的最大銷售值以及發生這種情況的月份。

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

載入指令碼包含：

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

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

  * `Product`

  * `Sales`

  * `Month`

載入指令碼

```
Example:
Load * inline [
Product,Sales,Month
A, 500, 2024-01-01
A, 700, 2024-02-01
A, 600, 2024-03-01
B, 300, 2024-01-01
B, 800, 2024-02-01
B, 450, 2024-03-01
C, 550, 2024-01-01
C, 620, 2024-02-01
C, 710, 2024-03-01
];
```

結果

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

* `Product`

* `Month`

建立下列量值：

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)`，用來計算每種產品的最大銷售額。在量值的屬性面板中，選取附加元件 &gt; 資料處理。清除包括零值核取方塊以移除任何 Null 值。

Results table

| Product | Month | If(Sales = Max(TOTAL &lt;Product&gt; Sales), Sales) |
| --- | --- | --- |
| A | 2024-02-01 | 700 |
| B | 2024-02-01 | 800 |
| C | 2024-03-01 | 710 |

量值的結果會傳回每種產品的最大銷售值以及達到此值的月份。例如，`Product B` 在 `2024-02-01` 的銷售額最高 (`800`)。

## 瞭解更多資訊

* [FirstSortedValue - 圖表函數](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax 指令碼與圖表函數](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [集合分析](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [定義彙總範圍](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)