使用表计算函数可自定义表计算。 表计算应用于整个表中值的计算, 通常依赖于表结构本身。
1.FIRST() 返回从当前行到分区中第一行的行数。
例如, 计算每季度销售额。在Date分区中计算FIRST()时, 第一行与第二行之间的偏移为-1。 例如, 当前行索引为3时, FIRST()=-2。
2.INDEX() 返回分区中当前行的索引, 不包含与值有关的任何排序。
例如, 计算每季度销售额。 当在Date分区中计算INDEX()时, 各行的索引分别为1、 2、 3、 4等。 例如, 对于分区中的第三行, INDEX()=3。
3.LAST() 返回从当前行到分区中最后一行的行数。
例如, 计算每季度销售额。 在Date分区中计算LAST()时, 最后一行与第二行之间的偏移为5。 例如, 当前行索引为3(共7行)时, LAST()=4。
4.LOOKUP(expression,[offset]) 返回目标行(指定为与当前行的相对偏移)中表达式的值。
使用FIRST()+n和LAST()-n作为相对于分区第一行/最后一行的目标偏移量定义的一部分。 如果省略offset, 就可以在字段菜单中设置要比较的行。如果无法确定目标行, 此函数就返回NULL。 例如, 计算每季度销售额。 当在Date分区中计算LOOKUP(SUM(Sales),2)时, 每行都会显示接下来两个季度的销售额。 例如, LOOKUP(SUM([Profit]),FIRST()+2)计算分区第3行中的SUM(Profit)。
5.PREVIOUS_VALUE(expression) 返回此计算在上一行中的值。 如果当前行是分区的第一行, 就返回给定表达式。 例如, SUM([Profit])*PREVIOUS_VALUE(1)计算SUM(Profit)的运行产品。
6.RANK(expression,[’asc’|’desc’]) 返回分区中当前行的标准竞争排名, 为相同的值分配相同的排名。
使用可选的’asc’|’desc’参数指定升序或降序顺序, 默认为降序。 利用此函数对值集(6,9,9,14)进行排名(4,2,2,1), 在排名函数中会忽略Null。
7.RANK_DENSE(expression,[’asc’|’desc’]) 返回分区中当前行的密集排名。 为相同的值分配相同的排名, 但不会向数字序列中插入间距。
使用可选的’asc’|’desc’参数指定升序或降序顺序, 默认为降序。 利用此函数对值集(6,9,9,14)进行排名(3,2,2,1), 在排名函数中会忽略Null。
8.RANK_MODIFIED(expression,[’asc’|’desc’]) 返回分区中当前行调整后的竞争排名, 为相同的值分配相同的排名。
使用可选的’asc’|’desc’参数指定升序或降序顺序, 默认为降序。 利用此函数对值集(6,9,9,14)进行排名(4,3,3,1), 在排名函数中会忽略Null。
9.RANK_PERCENTILE(expression,[’asc’|’desc’]) 返回分区中当前行的百分位排名。 使用可选的’asc’|’desc’参数指定升序或降序顺序, 默认为升序。
利用此函数对值集(6,9,9,14)进行排名(0.25,0.75,0.75,1.00), 在排名函数中会忽略Null。
10.RANK_UNIQUE(expression,[’asc’|’desc’]) 返回分区中当前行的唯一排名, 为相同的值分配相同的排名。
使用可选的’asc’|’desc’参数指定升序或降序顺序, 默认为降序。 利用此函数对值集(6,9,9,14)进行排名(4,2,3,1), 在排名函数中会忽略Null。
11.RUNNING_AVG(expression) 返回给定表达式从分区中第一行到当前行的运行平均值。
例如, 计算每季度销售额。 当在Date分区中计算RUNNING_AVG(SUM([Sales])时, 结果为每个季度的销售额值的运行平均值。
例如, RUNNING_AVG(SUM([Profit]))计算SUM(Profit)的运行平均值。
12.RUNNING_COUNT(expression) 返回给定表达式从分区中第一行到当前行的运行计数。 例如, RUNNING_COUNT(SUM([Profit]))计算SUM(Profit)的运行计数。
13.RUNNING_MAX(expression) 返回给定表达式从分区中第一行到当前行的运行最大值。 例如, RUNNING_MAX(SUM([Profit]))计算SUM(Profit)的运行最大值。
14.RUNNING_MIN(expression) 返回给定表达式从分区中第一行到当前行的运行最小值。 例如, RUNNING_MIN(SUM([Profit]))计算SUM(Profit)的运行最小值。
15.RUNNING_SUM(expression) 返回给定表达式从分区中第一行到当前行的运行总计。 例如, RUNNING_SUM(SUM([Profit]))计算SUM(Profit)的运行总计。
16.SIZE() 返回分区中的行数。
例如, 计算每季度销售额。 在Date分区中有7行, 因此Date分区的Size()为7。 例如, 当前分区包含5行时SIZE()=5。
17.SCRIPT_BOOL 返回指定R表达式的布尔结果。 R表达式直接传递给运行的Rserve实例。 可在R表达式中使用.argn引用参数(.arg1、 .arg2等)。
18.SCRIPT_BOOL(“is.finite(.arg1)”,SUM([Profit])) 对于华盛顿州的商店ID, 函数返回True或False。 SCRIPT_BOOL(’grepl(“.*_WA”,.arg1,perl=TRUE)’,ATTR([StoreID]))
19.SCRIPT_INT 返回指定表达式的整数结果。 表达式直接传递给运行的外部服务实例。
在R表达式中, 使用.argn(带前导句点)引用参数(.arg1、 .arg2等)。 例如, 在R中, .arg1等于SUM([Profit]): SCRIPT_INT(“is.finite(.arg1)”,SUM([Profit]))。
20.SCRIPT_REAL 返回指定表达式的实数结果。 表达式直接传递给运行的外部服务实例。
在R表达式中, 使用.argn(带前导句点)引用参数(.arg1、 .arg2等)。 例如, 在R中, .arg1等于SUM([Profit]): SCRIPT_REAL(“is.finite(.arg1)”,SUM([Profit]))。
21.SCRIPT_STR 返回指定表达式的字符串结果。 表达式直接传递给运行的外部服务实例。 在R表达式中, 使用.argn(带前导句点)引用参数(.arg1、 .arg2等)。 例如, 在R中, .arg1等于SUM([Profit]): SCRIPT_STR(“is.finite(.arg1)”,SUM([Profit]))。
22.TOTAL(expression) 返回表计算分区内表达式的总计。 23.WINDOW_AVG(expression,[start,end]) 返回窗口中表达式的平均值。 窗口用与当前行的偏移定义。 使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_AVG(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)平均值。
24.WINDOW_COUNT(expression,[start,end]) 返回窗口中表达式的计数。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_COUNT(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)计数。
25.WINDOW_MEDIAN(expression,[start,end]) 返回窗口中表达式的中值。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_MEDIAN(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)中值。
26.WINDOW_MAX(expression,[start,end]) 返回窗口中表达式的最大值。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_MAX(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)最大值。
27.WINDOW_MIN(expression,[start,end]) 返回窗口中表达式的最小值。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_MIN(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)最小值。
28.WINDOW_PERCENTILE(expression,number,[start,end]) 返回与窗口中指定百分位相对应的值。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_PERCENTILE(SUM([Profit]),0.75,-2,0)返回SUM(Profit)的前面两行到当前行的第75个百分位。
29.WINDOW_STDEV(expression,[start,end]) 返回窗口中表达式的样本标准差。 窗口用与当前行的偏移定义。 使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_STDEV(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)标准差。
30.WINDOW_STDEVP(expression,[start,end]) 返回窗口中表达式的有偏差标准差。 窗口用与当前行的偏移定义。 使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_STDEVP(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)标准差。
31.WINDOW_SUM(expression,[start,end]) 返回窗口中表达式的总计。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_SUM(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)总和。
32.WINDOW_VAR(expression,[start,end]) 返回窗口中表达式的样本方差。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_VAR((SUM([Profit])),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)方差。
33.WINDOW_VARP(expression,[start,end]) 返回窗口中表达式的有偏差方差。 窗口用与当前行的偏移定义。
使用FIRST()+n和LAST()-n表示与分区中第一行或最后一行的偏移。 如果省略开头和结尾, 就使用整个分区。 例如, WINDOW_VARP(SUM([Profit]),FIRST()+1,0)计算从第二行到当前行的SUM(Profit)方差。