percentDifference
percentDifference
函数根据分区、排序和查找索引计算当前值和比较值之间的百分比差值。
语法
括号是必需的。要查看哪些参数是可选的,请参阅以下说明。
percentDifference (
measure
,[ sortorder_field ASC_or_DESC, ... ]
,lookup index
,[ partition_field, ... ]
)
参数
- 度量
-
要查看百分比差值的聚合度量。
- 排序顺序字段
-
要在对数据排序时使用的一个或多个度量和维度(以逗号分隔)。您可以指定升序 (
ASC
) 或降序 (DESC
) 排序顺序。如果包含多个单词,则将列表中的每个字段括在 {}(大括号)内。整个列表括在 [](方括号)内。
- 查找索引
-
查找索引可以为正数或负数,表示排序中的下一行(正数)或排序中的上一行(负数)。查找索引可以为 1-2,147,483,647。对于引擎 MySQL、MariaDB 和 Aurora MySQL 兼容版,查找索引仅限为 1。
- 分区字段
-
(可选)要在分区时使用的一个或多个维度(以逗号分隔)。
如果包含多个单词,则将列表中的每个字段括在 {}(大括号)内。整个列表括在 [](方括号)内。
示例
以下示例计算当前和上一 State
的 sum(Sales)
之间的百分比差值(按 Sales
排序)。
percentDifference ( sum(amount), [sum(amount) ASC], -1, [State] )
以下示例计算特定 Billed
Amount
在另一个 Billed Amount
中所占的百分比(按 [{Customer
Region} ASC]
排序)。表计算中的字段位于视觉对象的字段井中。
percentDifference ( sum( {Billed Amount} ), [{Customer Region} ASC], 1 )
以下屏幕截图显示了示例的结果。红色字母显示 Customer Region
APAC
的总额 Billed Amount
比 EMEA
区域的金额低 24%。