Max - 图表函数

Max()用于查找聚合数据白最高值。通过指定 rank n,可以查找第 n 个最高值。
提示: 您可能还想查看 FirstSortedValuerangemax,其功能与 Max 函数相似。

语法:  

Max([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr [,rank])

返回数据类型: 数字

参数:  

参数说明
expr表达式或字段包含要度量的数据。
rankrank的默认值为 1,相当于最高值。通过指定rank为 2,将返回第二个最高值。如果指定 rank为 3,将返回第三个最高值,以此类推。
SetExpression聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。
TOTAL

如果在函数参数前面出现单词 TOTAL,则计算给出当前选择项的所有可能值,而不只是属于当前维度值的那些值,即它会忽略图表维度。

TOTAL限定符后可能紧跟着一系列由尖括号括起来的一个或多个字段名<fld>。这些字段名应该是图表维度变量的子集。

另请: 定义聚合范围

示例和结果:  

CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
示例结果

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 '|');