Min - 图表函数
Min()
用于查找聚合数据白最低值。通过指定 rank n,可以查找第 n 个最低值。
提示注释您可能还想查看 FirstSortedValue 和 RangeMin,其功能与 Min 函数相似。
语法:
Min({[SetExpression] [TOTAL [<fld {,fld}>]]} expr [,rank])
返回数据类型: 数字
参数expr | 表达式或字段包含要度量的数据。 |
rank | rank 的默认值为 1,相当于最小值。通过指定 rank 为 2,将返回第二个最小值。如果指定 rank 为 3,将返回第三个最小值,以此类推。 |
SetExpression | 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。 |
TOTAL | 如果在函数参数前面出现单词 TOTAL,则计算给出当前选择项的所有可能值,而不只是属于当前维度值的那些值,即它会忽略图表维度。 通过使用 TOTAL [<fld {.fld}>](其中 TOTAL 限定符后跟一个或多个字段名称作为图表维度变量的子集的列表),您可以创建总可能值的子集。 定义聚合范围 |
示例:图表表达式Min(UnitSales) | 返回 UnitSales 字段中的最低非空值。 |
Min(UnitSales*UnitPrice) 订单的价值是通过将售出的单位数量(按 UnitSales)乘以单价来计算的。 | 返回计算 (UnitSales) * (UnitPrice) 所有可能值时的结果的最低非空值。 |
Min(UnitSales, 2) | 返回 UnitSales 中第二个最低值的值(在 NULL 值之后)。 |
Min(TOTAL UnitSales) | TOTAL 限定符意味着在忽略图表维度的情况下找到的最低值。对于以 Customer 为维度的图表,TOTAL 限定符将确保返回整个数据集的最小值,而不是每个客户的最小 UnitSales。 |
Min({1} TOTAL UnitSales) | 集分析表达式 {1} 定义了要作为 ALL 评估的记录集,与所做任何选择无关。例如,如果选择了特定的客户,它仍会返回整个数据集的最小 UnitSales。 |
示例 - Min 基本原理
概览
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
加载到名为 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 '|');
结果
加载数据并打开工作表。创建新表并将该字段添加为维度:
创建以下度量:
=Min(UnitSales),计算最小 UnitSales 值。
=Min(UnitSales*UnitPrice),在逐行将 UnitSales 乘以 UnitPrice 之后计算最小值。
=Min(UnitSales, 2),计算第二低值。
=Min(TOTAL UnitSales),无论图表维度如何,都计算出最低的总数。
=Min({1} TOTAL UnitSales),计算忽略所有选择的最低总数。
Results tableCustomer | Min(UnitSales) | Min(UnitSales*UnitPrice) | Min(UnitSales, 2) | Min(TOTAL UnitSales) | Min({1} TOTAL UnitSales) |
---|
Totals | 2 | 40 | 4 | 2 | 2 |
---|
Astrida | 4 | 64 | 9 | 2 | 2 |
Betacab | 2 | 40 | 5 | 2 | 2 |
Canutility | 8 | 120 | - | 2 | 2 |
在此示例中,请注意以下几点:
在第一个度量 Min(UnitSales) 中,客户 Astrida 的 UnitSales 的最低值为 4。该列中的 Totals 单元格返回 2 ,因为该值也是整个数据集中最低的UnitSales 值。
在第二个度量 Min(UnitSales*UnitPrice) 中,64 为 Astrida 返回。这是将 UnitSales 乘以 UnitPrice 时,该客户的最高值。此列的 Totals 单元格返回 40,因为这也是整个数据集中的最低计算值。
在第三个度量 Min(UnitSales, 2) 中,客户 Astrida 的第二低 UnitSales 值为 9。Totals 行中返回值4 ,因为这是所有客户中第二低的 UnitSales 值。
第四个度量 Min(TOTAL UnitSales) 返回值 2。这是独立于客户维度的最低可能非空值,因此,所有行返回相同的值。但是,如果选择客户Betacab ,表格将只返回该客户的值(本例中为 2 ,因为这是 Betacab 的所有产品中最低的 UnitSales 。
第五个度量 Min({1} TOTAL UnitSales) 在计算最低总和时,无论 Customer 字段中选择了什么值,都会返回 2。例如,如果您选择 Betacab ,该列将继续返回值 2 。
示例 - 按月计算最低销售额的 Min 场景
概览
数据集包含按月分列的产品销售数据。销售经理希望确定每种产品的最小销售价值以及发生这种情况的月份。
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
加载到名为 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 tableProduct | Month | If(Sales = Min(TOTAL <Product> Sales), Sales) |
---|
A | 2024-01-01 | 500 |
B | 2024-01-01 | 300 |
C | 2024-01-01 | 550 |
度量结果会返回每种产品的最小销售值以及达到该值的月份。例如,Product B 具有 2024-01-01 中的最低销售额 (300)。