首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

了解这个函数,解决数据分析里绝大部分的计算问题

函数是大家在日常工作的过程中经常会用到的。比如大家已经很熟悉了的求和函数 SUM,查找函数 VLOOKUP 等等。

Excel 中自身包含了 400 多个函数,而亿信ABI内置了上千个函数应对用户上千种统计需求,但是遇到非常个性化或者非常复杂的指标统计时,这些函数可能会无法满足我们的需求。

这个时候应该怎么办呢?函数高手会用各种公式嵌套,彰显各种高精深。

但是这种公式嵌套,不仅复杂,而且换一张表就要重复输入,效率低下。针对这种情况,亿信ABI提供了一种比较简单的解决方法——自定义函数。不仅可以满足你的个性化需求,还可以重复使用,提升效率蹭蹭蹭~

自定义函数如何使用?

这里我们以一个场景为例,去探讨下如何定义一个函数。假设我们有如下一个场景:

在体育比赛中,每项比赛满分为10分(精确到0.01),去掉一个最高分和一个最低分后的平均分,即为该队的最后得分(精确到0.01)。

我们可以列出这样的式子:(总分数-最高分-最低分)/(总人数-2)

第一步:自定义函数入口及规范

1、入口:系统管理 -> 系统设置 -> 分析与展现 -> 公式模板

2、添加自定义函数

若分组不存在,点击“+”添加到新分组。若已有分组,可选中已有分组,点击“+”添加到已有分组中。

从上图中我们可以看到:

所属组名:指函数所属分组名称。

函数标题:指对函数所起的标题名。

函数定义:指对函数参数的定义。(见(3)自定义函数使用规范)

描述:对所定义的函数,进行描述解释。

3、自定义函数使用规范

a.函数定义规范

函数名(参数类型 参数1, 参数类型 参数2, ...)

b.参数类型规范

参数类型说明:I表示整形、N表示浮点型、L表示逻辑型、C表示字符型、D表示日期型、R表示数组。

第二步:定义自定义函数

从上图中我们可以看到:

函数定义:df(R x) 其中df为函数名称,R代表数组,x代表参数。

函数体:(sum(x)-max(x)-min(x)/(arlen(x)-2)),其中sum(求和)函数、max(求最大值)函数、min(求最小值)函数都是ABI中的常用统计函数。arlen(x)函数含义是返回数组x中项目的个数,返回值为整数。

第三步:使用自定义函数

1、在公式定义向导框中,点击函数后,可以看到我们刚刚自定义的函数df()函数,如下图:

2、使用df()函数求出最后的比赛得分

自定义函数应用场景

以上,我们介绍了亿信ABI中自定义函数的详细用法,那具体能应用到那些场景中呢?让我们举两个例子

例子一:根据用户ID确定显示内容

需求说明:客户某些报表有很多列,但是某些列需要根据登录的用户id来决定是否显示,例如表中的“总成本”一列,用户33可以看到,但是用户03需要对其隐藏。一般做法,通过if判断用户id来指定列宽(如下图)。

那么当需求涉及的login.id变更时,每张表都需要调整,费时费力不好维护。这时候就可以用到自定义函数了。

实现方法:添加自定义函数如下

函数标题:yc

函数定义:yc()

函数体:if(login.id in "11,22,33".split(","),72,1-1)

分析表上设置列宽表达式:

报表效果:当登录用户ID为11、22或33时,C列显示,其他用户登录访问时,C列隐藏。

例子二:返回数值自动转换为“星期* ”格式

需求说明:某个表达式或者参数的返回值是1-7的数字,如何对应的转化成星期一、星期二、星期三、星期四、星期五、星期六、星期天?

实现方法:添加自定义函数如下

函数标题:xq

函数定义:xq(N i)

函数体:["星期一","星期二","星期三","星期四","星期五","星期六","星期天"][i-1]

报表效果:当返回值为1-7时,自动转换为星期一、星期二到星期天。

看完这些,自定义函数是不是想象中那样难。利用上面的方法,就可以做出属于你的专属自定义函数啦~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200226A080EE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券