Max
Max() 會找出彙總資料的最大值。透過指定 rank n,可找到第 n 個最大值。 提示備註您可能也想瞭解 FirstSortedValue 和 rangemax,它們具有類似 Max 函數的功能。
語法:
Max([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr [,rank])
傳回的資料類型: 數值
引數:
- expr: 包含待測量資料的運算式或欄位。
- rank: rank 的預設值為 1,這對應於最大值。將 rank 指定為 2,會傳回第二個最大值。如果 rank 為 3,會傳回第三個最大值,依此類推。
- SetExpression: 依照預設,彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。
- TOTAL: 如果 TOTAL 這個字出現在函數引數之前,會計算已指定目前選項的所有可能值,而不僅是與目前維度值相關的值,也就是說,會忽略圖表維度。 TOTAL 限定詞後面可以加上以角括弧 <fld> 括住的一或多個欄位名稱。這些欄位名稱應該是圖表維度變數的子集。
範例:
範例 | 結果 |
---|---|
Max(UnitSales) | 10,因為這是 UnitSales 中的最高值。 |
訂單值的計算方式為售出單位數 (UnitSales) 乘以單位價格。 Max(UnitSales*UnitPrice) | 150,因為計算所有 (UnitSales)*(UnitPrice) 可能值結果的最高值。 |
Max(UnitSales, 2) | 9,即為第二高值。 |
Max(TOTAL UnitSales) | 10,因為 TOTAL 限定詞表示找到最高的可能值,忽略圖表維度。針對具有 Customer 作為維度的圖表,TOTAL 限定詞會確認傳回完整資料集間的最大值,而非各客戶的最大 UnitSales。 |
選取 Customer B。 Max({1} TOTAL UnitSales) | 10,獨立於選取的選項,因為 Set Analysis 運算式 {1} 會定義要評估為 ALL 的記錄組合,無論選取的選項為何。 |
範例中使用的資料:
ProductData:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
Customer | Product | UnitSales | UnitPrice |
---|---|---|---|
Astrida | AA | 4 | 16 |
Astrida | AA | 10 | 15 |
Astrida | BB | 9 | 9 |
Betacab | BB | 5 | 10 |
Betacab | CC | 2 | 20 |
Betacab | DD | - | 25 |
Canutility | AA | 8 | 15 |
Canutility | CC | - | 19 |