全部展開/全部摺疊
Max - 圖表函數 在此頁面
Max() 會找到已彙總之資料中的最高值。透過指定 rank n ,可以找到第 n 個最高的值。
提示備註 您可能也想瞭解 FirstSortedValue 和 RangeMax ,它們具有類似 Max 函數的功能。
語法:
Max( [{SetExpression}] [TOTAL [<fld {,fld}>]] expr [,rank] )
傳回的資料類型: 數值
引數 expr 包含待測量之資料的運算式或欄位。 rank rank 預設值為 1,這對應於最大值。將 rank 指定為 2,將傳回第二個最大值。如果 rank 為 3,將傳回第三個最大值,依此類推。SetExpression 依預設,彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。 TOTAL 如果單字 TOTAL 位於函數引數之前,則會在提供現行選項的所有可能值上進行計算,而不僅僅是關於目前維度值的那些選項,也就是說,它會忽略圖表維度。 透過使用 TOTAL [<fld {.fld}>] (其中 TOTAL 限定詞後面是做為圖表維度變數子集之一或更多欄位名稱的清單),您可建立總可能值的子集。
定義彙總範圍
範例:圖表運算式 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 基礎事項 圖表運算式 概述
資料集包含依月份劃分的產品銷售數據。我們想要確定每種產品的最大銷售值以及發生這種情況的月份。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入到稱為 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 '|');
將代碼複製到剪貼簿 結果
載入資料並開啟工作表。建立新的表格並將此欄位新增為維度:
建立下列量值:
=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 使用情境 圖表運算式 概述
資料集包含依月份劃分的產品銷售數據。銷售經理想要確定每種產品的最大銷售值以及發生這種情況的月份。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
載入指令碼
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
];
將代碼複製到剪貼簿 結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列量值:
Results table Product
Month If(Sales = Max(TOTAL <Product> Sales), Sales) A 2024-02-01 700 B 2024-02-01 800 C 2024-03-01 710
量值的結果會傳回每種產品的最大銷售值以及達到此值的月份。例如,Product B 在 2024-02-01 的銷售額最高 (800 )。