大家好!上次我跟大家分享了一些FineBI中的隐藏函数,没想到反响热烈!好多粉丝朋友纷纷表示这些函数太实用了,还希望我能再分享一些隐藏函数的内容。看在大家这么热情的份上,今天我就以图文并茂的方式,再次为大家带来几个超级实用的隐藏函数!
注意:以下隐藏函数仅限抽取模式下使用。
ROUNDDOWN函数和ROUNDUP函数都和ROUND函数功能相似,那不同之处在哪里呢?
Roundup函数:始终向上舍入数字,也就是不管舍去的首位数字是否大于4,都会向前进1;
Rounddown函数:靠近零值,向下舍入数字。
ROUNDUP函数
我们在FineBI中让num_digits有大于0,等于0,小于0三种情况出现,然后用ROUNDUP函数对销售额_万字段分别求值;
(图中四位小数是故意展示出来方便大家观察数据进位情况,下同。)
可以看到在这三种情况下,无论舍去的首位数字是否大于4,都会向上进1。
需要注意的是,ROUNDUP函数中的num_digits参数并非必须 ,省略参数依然可以完成数据进位,此时会从小数位向整数位进1,保留整数。
ROUNDDOWN函数
接下来,我们在FineBI中让num_digits有大于0,等于0,小于0三种情况出现,然后用ROUNDDOWN函数对销售额_万 字段分别求值;
可以看到在这三种情况下,无论舍去的首位数字是否大于4,这时我们可以看到值始终都是向下舍入的。
和ROUNDUP函数一样,ROUNDDOWN函数中的num_digits参数并非必须 ,省略参数依然可以完成数据进位,此时数据会舍弃小数位,保留整数部分。
以上这两个数值函数在我们的日常工作中会频繁使用。例如,在处理快递物流时,对于不足一公斤的包裹按一公斤计算,这正是ROUNDUP函数的用武之地。又如,在我最近进行商品数据核算时,需要将数值向下取整,此时ROUNDDOWN函数便派上了用场。
CNMONEY函数
在中国式报表和分析报告中,我们常常会看到大写的货币格式。如果有一天你需要在报表中展示大写的人民币,不妨试试CNMONEY函数,它能让这个过程变得轻而易举。使用这个函数,你就可以轻松地将数字转换为大写人民币,既专业又美观,绝对是报表制作的小帮手!
ENMONEY函数
在处理财务报表时,有时需要将金额数字转换成英文。为此,ENMONEY函数无疑是最佳选择。这个函数可以将表中的金额数字直接转换成英文的表达方式,极大地方便了国际化需求和英文报表的制作。
ENMONEY函数特别适合以下几种情况:
跨国公司财务报表:需要将财务数据转换成英文,以便国际分支机构和外部审计人员阅读。
学术论文:在撰写涉及财务数据的英文论文时,可以直接引用英文金额。
合同与协议:在国际合同中明确金额,避免因语言翻译引起的误解。
RANGE函数
在FineBI里,我们很少提到数组的概念,大部分内容都是围绕时间、文本和数值处理的。不过,这并不意味着FineBI里的数组函数不重要。
之前我写过一篇文章,详细介绍了如何生成日期序列。如果你感兴趣,可以去看看那篇文章,我利用了RANGE函数来生成完整的年月日数据序列,效果还是挺不错的
比如说,你有一组数据,里面有开始时间和结束时间,还有这段时间总共用了多少时间的用时。如果你想把这些时间段拆分成每一天,那么就可以用RANGE函数来生成一个完整的日期序列。当然,光靠RANGE函数是不够的,你还得结合其他函数一起用,但RANGE函数在这里头的作用可是关键的,这一点是毋庸置疑的。
REPLACE(REPLACE(range(${用时}),"[",""),"]","")
RANGE函数还有其他有趣的用法,大家可以自由探索,在这里就不一一举例。
INARRAY函数
INARRAY函数在我们需要对文本数据进行过滤、查找及验证判断时,具有很高的实用价值。
例如我们如果需要在一组不是很规范的数据中查找或验证是否完全存在我们要查找的文本数据,就可以利用INARRAY函数来实现它。
inarray("华南",["华东","华中","华南区","华北","西南","东北","西北"])
上述函数得到的结果为0,即表示不存在完全一样的文本记录,而这正是Find函数不能取代的,通过对比可以发现,如果用Find函数,结果是大于0,即表示要查找的文本是存在的。
Find("华南",["华东","华中","华南区","华北","西南","东北","西北"])
INARRAY函数还有更多的应用价值,如:权限和访问控制、客户关系管理、合规和审计等。
UNIQUEARRAY函数
UNIQUEARRAY函数,顾名思义,就是用来给数组里的元素去重的,最后得到的是一个没有重复元素的数组。简单来说,就是把一组数据清理一下。
举个例子,有一组数据,每个客户对应多个不同的服务品牌。如果你想把这些品牌去重整理一下再展示出来,就可以用UNIQUEARRAY函数来搞定。
UNIQUEARRAY(${意向品牌},${约考察品牌},${实地考察品牌},${签约品牌})
EVAL函数虽然帮我们把品牌去重了,但它就像是刚学会走路的小孩,还不太会收拾玩具,结果展示的时候不仅带上了数组的中括号,还顺手多画了几个逗号。这都是因为有些品牌是空值,空值在数组里默认也要露个脸。如果你想只看到干净利落的品牌名字,不想要那些杂七杂八的符号,那就得请出另外一个隐藏函数来帮忙了(这里用到另外一个隐藏函数joinarray,我们下期再详细拆解)。
REPLACE(SUBSTITUTE(joinarray(sortarray(UNIQUEARRAY([NVL(${意向品牌}," "),NVL(${约考察品牌}," "),NVL(${实地考察品牌}," "),NVL(${签约品牌}," ")])),",")," ,","",1)," ","")
可以发现,不管你怎么折腾,UNIQUEARRAY函数始终是不可或缺的函数。可见其实用价值。
EVAL函数
有时候,为了让数据更易读,我们可能会保存一些字段的计算公式。如果你需要在FineBI中直接算出这些公式的结果,可以用EVAL函数很方便地来实现这个操作。
EVAL函数在处理数据和转换数据时,简直就是个超级实用的小能手,你可得把它牢牢记住哦!
INDEX函数
想像一下,INDEX函数就像是你在超市里找零食的好帮手。告诉它你想要的零食名字,如果这零食藏在货架上,它就能快速告诉你在哪一排。没找到?没关系,INDEX函数就会告诉你,这超市一共有多少种零食,就像是安慰你说:“虽然没有你想要的,但是还有一大堆其他选择呢!"
也就是说INDEX函数可以用来返回要查找内容在众多参数中的位置,如果存在,就返回正确的序号,如果不存在就返回所有参数数量(包括key参数)。
发挥一下你的想象力,INDEX还有哪些用途?比如是不是可以对指定数据在纵向字段上的排名情况查询呢?
以上就是本期关于FineBI隐藏函数的分享,更多内容,期待下期继续!!!
为助你将这些数据处理经验、技巧精华融入业务,特在帆软官网视频课推出系统化的《FineBI6.1:业财融合实战进阶课》,课程引用真实零售快销公司数据作为案例,涵盖多种数据分析模型、方法、技巧、经验,助力思维跃升。
立即报名,开启学习之旅!
|