前言

不管在Excel中,还是在数据分析工具BDP中,函数公式的运用,都会对我们的数据分析有很大帮助,之前我们讲了比Vlookup还好用的多表关联的操作,本文介绍6个超实用hive函数,解决你80%可能会遇到的问题

打开网易新闻 查看精彩图片

01 Concat函数

01 Concat函数

CONCAT:连接函数,可以输出2个字段连接后的值

示例:concat('abc','d')

返回值:abcd

例如,在BDP中,有时我们的日期字段是只有年-月-日的形式,在进行日期筛选时,需要日期字段中有时-分-秒,才能准确筛选,这个时候,我们可以使用连接函数,concat([日期字段],'00:00:00') 在日期字段中轻松添加时分秒

02 Substr 函数

02 Substr 函数

SUBSTR :截取函数,截取字段中指定位置、指定长度的部分

示例:substr([字段],起始位置,截取长度)

例:substr('abcde',2,3) 返回值:bcd

当起始位置是负数时,则倒序选取起始位置

例如,字段A:01小王,可以通过截取函数将序号和名字分开

03 Ccoalesce函数

03 Ccoalesce函数

CCOALESCE:非空查找函数,返回参数中的第一个非空值或非空串;如果所有值都为NULL或空串,那么返回空串

示例:ccoalesce([字段A],0)

当字段A中存在空值时,对于数值字段的计算会有影响,将空值替换成0,可以用这个函数,当字段A不为空时,返回字段A,当字段A为空时,返回0

注:coalesce函数与之类似,区别是coalesce会返回空串,ccoalesce会跳过空串

【小tip】空值null 和空串的区别:

空值—什么都没有,没有分配存储空间,无法参与计算;

空串—已经分配了存储空间,但是没有存储东西,在计算字段中可以写作“”

04 Case when函数

04 Case when函数

CASE WHEN :条件判断函数,设置不同条件下返回不同的对应值

示例:case

when [城市]='北京' then '华北'

when [城市]='上海' then '华东'

else ‘华南’

end

当城市字段数据等于北京时,返回“华北”,等于上海时,返回“华东”,其他返回“华南”

case when函数的使用类似于简单条件函数IF的嵌套使用

05 Count函数

05 Count函数

COUNT:计数函数,统计该字段行的个数

示例:count和下面的sum函数都属于聚合函数,例如,我们在电商数据分析中,需要计算客单价,用订单金额,比上订单单数

sum([订单金额])/count([订单编号])

06 Sum函数

06 Sum函数

SUM:求和函数,输出不同参数求和结果

示例:sum([字段A],[字段B]),返回字段A、B值之和

注:聚合函数使用常见问题

(1)在做图时添加聚合函数比值—sum(a)/sum(b) 不能是sum(a)/b

(2)当想要求a/b比值的和时,要用sum(a)/sum(b),不能直接将a/b拖入数值

(3)公式本身不带聚合功能,如需聚合,则在公式外面包含聚合函数,如SUM(ROW_MAX([a],[b]))

(4)如果新字段的公式外层有聚合函数,则该新字段适用于数值轴,不适用于维度轴

(5)如果新字段的公式外层没有聚合函数,则该新字段适用于维度轴,不适用于数值轴

在不同场景下,可以将不同函数叠加使用,根据自己的需求匹配不同的函数