知识整理。
1. TOTAL
函数公式为TOTAL(expression),表示返回给定表达式(expression)的总计。例如,TOTAL(SUM([人工服务接听量])),用于计算各自分区中全部行的SUM(人工服务接听量)。
2. SIZE
函数公式为SIZE(),表示返回分区中的行数。如果当前分区包含5行,则SIZE()=5。
3. PREVIOUS_VALUE
函数公式为PREVIOUS_VALUE(expression),表示返回此计算在上一行中的值,如果当前行是分区的第一行,则返回给定表达式。
例如,PREVIOUS_VALUE(SUM([人工服务接听量]),意味着计算人工服务接听量总计聚合在上一行中的值。
4. LOOKUP
函数公式为LOOKUP(expression, [offset]),表示返回目标行(指定为与当前行的相对偏移)中表达式的值。如果省略了offset,则可以在字段菜单上设置要比较的行,当无法确定目标行时,则此函数返回Null。
例如,在分区中计算LOOKUP(SUM([人工服务接听量]), 2)时,每行都会显示接下来两行的数据。这里我们说明一个常用的小技巧,可以使用FIRST() +和LAST() -作为相对于分区中第一行/最后一行的目标偏移量定义的一部分。比如,LOOKUP(SUM([人工服务接听量]),FIRST()+2)表示计算分区第三行中的聚合值。
5. LAST
函数公式为LAST(),表示返回从当前行到分区中最后一行的行数。
例如,在分区中计算LAST()时,最后一行与倒数第二行之间的偏移为1。
6. INDEX
函数公式为INDEX(),表示返回分区中当前行的索引,不包含与值有关的任何排序。
例如,在分区中计算INDEX()时,各行的索引分别为1、2、3、4等。
7. FIRST
函数公式为FIRST(),表示返回从当前行到分区中第一行的行数。
例如,分区中计算FIRST()时,该分区的第一行与第二行之间的偏移为-1。
8. RANK
函数公式为RANK(expression, ['asc' | 'desc']),表示返回分区中当前行按照聚合表达式(expression)的竞争排名。该函数为相同的值分配相同的排名。可选的 'asc' 、 'desc' 参数用于指定升序或降序(默认为降序)。
例如,RANK( SUM([人工服务接听量] ), 'asc')意味着依据“人工服务接听量”总计聚合进行排序,然后进行竞争排名。如,对于“人工服务接听量”总计聚合排序为(6, 9, 9, 14),那么这组值的排名为(1, 2, 2, 4)。
注意:排名函数中会忽略Null,并且它们不进行编号,也不计入百分位排名计算的总记录数中。
9. RANK_DENSE
函数公式为RANK_DENSE(expression, ['asc' | 'desc']),表示返回分区中当前行按照聚合表达式(expression)的密集排名。该函数为相同的值分配相同的排名,但不会向数字序列中插入间距。可选的'asc'、'desc' 参数用于指定升序或降序(默认为降序)。
例如,RANK_DENSE(SUM([人工服务接听量] ), 'asc')意味着依据“人工服务接听量”总计聚合进行排序,然后进行密集排名。例如,对于“人工服务接听量”总计聚合排序为(6, 9, 9, 14),那么这组值的排名为(1, 2, 2, 3)。
注意:排名函数中会忽略Null,并且它们不进行编号,也不计入百分位排名计算的总记录数中。
10. RANK_MODIFIED
函数公式为RANK_MODIFIED(expression, ['asc' | 'desc']),表示返回分区中当前行按照聚合表达式(expression)的调整后竞争排名。该函数为相同的值分配相同的排名。可选的'asc' 、'desc' 参数用于指定升序或降序(默认为降序)。
例如,RANK_ MODIFIED( SUM([人工服务接听量] ), 'asc')意味着依据“人工服务接听量”总计聚合进行排序,然后进行调整后竞争排名。例如,对于“人工服务接听量”总计聚合排序为(6,9, 9, 14),那么这组值的排名为(1, 3, 3, 4)。
注意:排名函数中会忽略Null,并且它们不进行编号,也不计入百分位排名计算的总记录数中。
11. RANK_PERCENTILE
函数公式为RANK_PERCENTILE(expression, ['asc' | 'desc']),表示返回分区中当前行按照聚合表达式(expression)的百分位排名。该函数为相同的值分配相同的排名。可选的 'asc' 、'desc' 参数用于指定升序或降序(默认为降序)。
例如,RANK_PERCENTILE(SUM([人工服务接听量] ), 'asc')意味着依据“人工服务接听量”总计聚合进行排序,然后进行百分位排名。如,对于“人工服务接听量”总计聚合排序为(6, 9, 9, 14),那么这组值的排名为(25, 75, 75, 100)。
注意:排名函数中会忽略Null,并且它们不进行编号,也不计入百分位排名计算的总记录数中。
12. RANK_UNIQUE
函数公式为RANK_UNIQUE(expression, ['asc' | 'desc']),表示返回分区中当前行按照聚合表达式(expression)的唯一排名。该函数为相同的值分配相同的排名。可选的 'asc'、'desc' 参数用于指定升序或降序(默认为降序)。
例如,RANK_UNIQUE(SUM([人工服务接听量] ), 'asc')意味着依据“人工服务接听量”总计聚合进行排序,然后进行唯一排名。例如,对于“人工服务接听量”总计聚合排序为(6, 9, 9, 14),那么这组值的排名为(1, 2, 3, 4)。
注意:排名函数中会忽略Null,并且它们不进行编号,也不计入百分位排名计算的总记录数中。
13. RUNNING_AVG
函数公式为RUNNING_AVG(expression),表示返回给定聚合表达式(expression)从分区中第一行到当前行的平均值。
例如,沿着1月1日到1月31日的日期计算RUNNING_AVG(SUM([人工服务接听量]),则1月4日的计算方式为先计算1月4日的SUM([人工服务接听量])总计聚合值,然后计算从1月1日到1月4日的总计聚合值得平均值。
注意:与WINDOW_AVG不同,该方法只能计算第一行到当前行的运行平均值。14. RUNNING_COUNT函数公式为RUNNING_COUNT(expression),表示返回给定聚合表达式(expression)从分区中第一行到当前行的计数。
例如,沿着1月1日到1月31日的日期计算RUNNING_COUNT(SUM([人工服务接听量]),则计算从1月1日到1月4日的总计聚合值的计数,此处为4。
15. RUNNING_MAX
函数公式为RUNNING_MAX(expression),表示返回给定聚合表达式(expression)从分区中第一行到当前行的最大值。
例如,沿着1月1日到1月31日的日期计算RUNNING_MAX(SUM([人工服务接听量]),则1月4日的计算方式为先计算1月4日的SUM([人工服务接听量])总计聚合值,然后计算从1月1日到1月4日的总计聚合值中的最大值。
16. RUNNING_MIN
函数公式为RUNNING_MIN(expression),表示返回给定聚合表达式(expression)从分区中第一行到当前行的最小值。
例如,沿着1月1日到1月31日的日期计算RUNNING_MIN(SUM([人工服务接听量]),则1月4日的计算方式为先计算1月4日的SUM([人工服务接听量])总计聚合值,然后计算从1月1日到1月4日的总计聚合值中的最小值。
17. RUNNING_SUM
函数公式为RUNNING_SUM(expression),表示返回给定聚合表达式(expression)从分区中第一行到当前行的总计,简单点说就是各个分区的累积求和。
例如,沿着1月1日到1月31日的日期计算RUNNING_SUM(SUM([人工服务接听量]),则1月4日的计算方式为先计算1月4日的SUM([人工服务接听量])总计聚合值,然后计算从1月1日到1月4日的总计聚合值进行求和。
18. SCRIPT_BOOL
函数公式为SCRIPT_BOOL("R Script with arguments", .arg1, .arg2, …),表示返回指定R表达式的布尔结果。
注意:书写包含占位符的R语言脚本后,我们可以通过在R表达式中使用“.argn”的方式引用来自Tableau的参数(.arg1、.arg2 等),并且来自Tableau的传入参数要求聚合后的Tableau字段。
例如SCRIPT_BOOL("is.finite(.arg1)", SUM([人工服务接听量])),其中R语言中is.finite()用于检测数据是否为无穷,在这里我们检测SUM([人工服务接听量])是否为无穷,返回True或者False。
19. SCRIPT_INT
函数公式为SCRIPT_INT("R Script with arguments", .arg1, .arg2, …),表示返回指定R表达式的整数结果。
注意:书写包含占位符的R语言脚本后,我们可以通过在R表达式中使用“.argn”的方式引用来自Tableau的参数(.arg1、.arg2 等),并且来自Tableau的传入参数要求聚合后的Tableau字段。
例如SCRIPT_INT("is.finite(.arg1)", SUM([人工服务接听量])),其中R语言中is.finite()用于检测数据是否为无穷,在这里我们检测SUM([人工服务接听量])是否为无穷,但是返回值为1或者0。
20. SCRIPT_REAL
函数公式为SCRIPT_REAL("R Script with arguments", .arg1, .arg2, …),表示返回指定R表达式的实数结果。
注意:书写包含占位符的R语言脚本后,我们可以通过在R表达式中使用“.argn”的方式引用来自Tableau的参数(.arg1、.arg2 等),并且来自Tableau的传入参数要求聚合后的Tableau字段。
例如SCRIPT_REAL("is.finite(.arg1)", SUM([人工服务接听量])),其中R语言中is.finite()用于检测数据是否为无穷,在这里我们检测SUM([Profit])是否为无穷,但是返回值为1.0或0.0。
21. SCRIPT_STR
函数公式为SCRIPT_STR("R Script with arguments", .arg1, .arg2, …),表示返回指定R表达式的整数结果。
注意:书写包含占位符的R语言脚本后,我们可以通过在R表达式中使用“.argn”的方式引用来自Tableau的参数(.arg1、.arg2等),并且来自Tableau的传入参数要求聚合后的Tableau字段。
例如SCRIPT_STR("is.finite(.arg1)", SUM([人工服务接听量])),其中R语言中is.finite()用于检测数据是否为无穷,在这里我们检测SUM([人工服务接听量])是否为无穷,但是返回值为t或f。
22. WINDOW_AVG
函数公式为WINDOW_AVG (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的平均值。
注意:我们可以使用 FIRST()+n 和 LAST()-n 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_AVG(SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的平均值。
23. WINDOW_COUNT
函数公式为WINDOW_ COUNT (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的计数。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ COUNT (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的计数。
24. WINDOW_MEDIAN
函数公式为WINDOW_ MEDIAN (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的中位数。
注意:我们可以使用 FIRST()+和 LAST()-表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ MEDIAN (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的中位数。
25. WINDOW_MAX
函数公式为WINDOW_ MAX (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的中位数。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如,沿着分区向下WINDOW_ MAX (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的最大值。
26. WINDOW_MIN
函数公式为WINDOW_ MIN (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的中位数。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ MAX (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的最小值。
27. WINDOW_PERCENTILE
函数公式为WINDOW_PERCENTILE(expression, number, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)下指定百分位(number)相对应的值。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_PERCENTILE(SUM([人工服务接听量]), 0.75, -2, 0)),表示计算各个分区中当前行的前两行到当前行范围内的第75个百分位数。
28. WINDOW_STDEV
函数公式为WINDOW_ STDEV (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的样本标准差。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。例如沿着分区向下WINDOW_ STDEV (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的样本标准差。
29. WINDOW_STDEVP
函数公式为WINDOW_ STDEVP (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的有偏差标准差。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ STDEVP (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的有偏差标准差。
30. WINDOW_SUM
函数公式为WINDOW_ SUM (expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的总计求和。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ SUM (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的总计求和。
31. WINDOW_VAR
函数公式为WINDOW_ VAR(expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的样本方差。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ VAR (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的样本方差。
32. WINDOW_VARP
函数公式为WINDOW_ VARP(expression, [start, end]),表示返回窗口中从给定开头(start)到给定结尾(end)范围内给定表达式(expression)的有偏差方差。
注意:我们可以使用 FIRST()+ 和 LAST()- 表示与分区中第一行或最后一行的偏移,并且如果省略了开头(start)和结尾(end),则使用整个分区。
例如沿着分区向下WINDOW_ VARP (SUM[人工服务接听量]), FIRST()+1, 0),表示计算各个分区中从第二行到当前行的SUM(人工服务接听量)的有偏差方差。