表计算函数(Tableau)

知识整理。

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(人工服务接听量)的有偏差方差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值