计算字段函数说明

来自海致BDP帮助中心、帮助文档
跳转至: 导航搜索

公式本身不带聚合功能,如需聚合,则在公式外面包含聚合函数,如SUM(ROW_MAX([a],[b]))
如果新字段的公式外层有聚合函数,则该新字段适用于数值轴,不适用于维度轴
如果新字段的公式外层没有聚合函数,则该新字段适用于维度轴,不适用于数值轴
公式支持嵌套

表达式中的元素可以分为2大类:字段和函数。
字段包括原生字段,计算字段和分组字段。您可以将函数应用于字段上,配合函数的参数,得到符合您需求的新字段。
函数可以分为聚合函数,数值函数,日期函数,字符串函数,以及条件函数。

聚合函数

BOL


用法:BOL(日期字段,字段)

说明:期初计算,返回日期字段中起始时间的字段值,日期字段的起始时间受筛选器影响。

示例:BOL([统计日期],[库存]),返回统计日期中起始日期的库存值

LTD


用法:LTD(日期字段,字段)

说明:期末计算,返回日期字段中截止时间的字段值,日期字段的截止时间受筛选器影响。

示例:BOL([统计日期],[库存]),返回统计日期中截止日期的库存值

PERCENT


用法:PERCENT([数值字段],百分位)

说明:求数值类型字段的中位数和百分位数,传入参数为数值字段;第二个参数范围是0<p<1,例如0.1,0.25,0.75,0.95。

示例:PERCENT([数学考试分数],0.5),返回考试分数的中位数。

日期和时间函数

DATE-AFTER-MONTHS


用法:DATE-AFTER-MONTHS(日期字段,数值)

说明:返回某个日期在一个或多个自然月后/前的对应日期

示例:DATE-AFTER-MONTHS([开学日期],1),返回开学日期后一个自然月的日期,如DATE-AFTER-MONTHS(“2016-01-20”, 1),返回”2016-02-20”

DAY-OFF-WEEK


用法:DAY-OFF-WEEK(日期字段[,类型])

说明:返回该日期在一周中的第几天,如果需要返回“星期一“的格式,第二参数传入0

示例:
A. DAY-OFF-WEEK( [下单时间]);DAY-OFF-WEEK( [‘2016-05-13’]),返回5;
B. DAY-OFF-WEEK( [下单时间],0);DAY-OFF-WEEK( [‘2016-05-13’],0),返回星期五;

SECOND_DIFF


用法:SECOND_DIFF(日期字段1,日期字段2)

说明:返回两个日期相差的秒数,只允许上传日期型的字段

示例:SECOND_DIFF([登陆时间],[离线时间]),返回同一行上“登陆时间”至“离线时间”的间隔秒数。

字符串函数

STRING_SPLIT


用法:STRING_SPLIT(表达式/字段,分隔符,序列值)

说明:根据预设分隔符分割字符串后,返回拆分数组中指定序列的字符串

示例:
A. STRING_SPLIT(“柱图,线图,雷达图”,”,”0),返回”柱图“;
B. STRING_SPLIT(“柱图,线图,雷达图”,”,”1),返回”线图“;

TLD


用法:TLD(合法的URL链接/字段)

说明:返回合法URL链接的一级域名,注意需带协议部分,如http。对于不合法的链接均范围null。

示例:TLD(“https://www.bdp.cn”),返回“bdp.cn”。

TRIM


用法:TRIM(表达式/字段)

说明:去除表达式或字段中数据两边的空格

示例:TRIM(” ABC “),返回”abc”。

UPPER


用法:UPPER(表达式/字段)

说明:返回表达式或字段值全部大写形式的字符串

示例:UPPER(“abc”),返回”ABC”。

逻辑(条件)函数

CASE WHEN


用法:CASE WHEN a THEN b [WHEN c THEN d ],[ELSE e] END

说明:对数据进行多级条件判断,一旦满足了某一个WHEN,则这条数据就会退出CASE WHEN,确定返回值。

示例:当月中的某天小于10时,值为“上旬”;在11至21之间时,值为“中旬”;其他值为“下旬”。

CASE WHEN DAY([日期])<=10 THEN '上旬'
WHEN DAY([日期]) BETWEEN 11 and 21 THEN '中旬'
ELSE '下旬'
END

CCOALESCE


用法:CCOALESCE(字段1,字段2, ’默认’)

说明:返回参数中的第一个非空值和非空串;如果所有值都为NULL或空串,那么返回空串,与CCOALESCE区别COALESCE会返回空串,CCOALESCE会跳过空串

示例:CCOALESCE([名字1],[ 名字2] ’佚名’),返回参数中的第一个非空名字

CCOALESCE


用法:CCOALESCE(字段1,字段2, ’默认’)

说明:返回参数中的第一个非空值和非空串;如果所有值都为NULL或空串,那么返回空串,与CCOALESCE区别COALESCE会返回空串,CCOALESCE会跳过空串

示例:CCOALESCE([名字1],[ 名字2] ’佚名’),返回参数中的第一个非空名字

COALESCE


用法:COALESCE(字段1,字段2, ’默认’)

说明:返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL

示例:COALESCE([名字1],[ 名字2] ’佚名’),返回参数中的第一个非空名字

数值

CEIL


用法:CEIL(数值a)

说明:返回不小于数值a的最小整数

示例:CEIL(4.12),则返回5

FLOOR


用法:FLOOR(数值a)

说明:返回不大于数值a的最大整数

示例:CEIL(4.12),则返回4

LN


用法:LN(数值)

说明:求数值的对数

示例:LN(10),返回2.3025

LOG


用法:LOG(数值A,数值B)

说明:以数值A为底,求数值B的对数

示例:LOG (2,4),返回2.0

POW


用法:POW(数值A,数值B)

说明:求数值A的数值B次方

示例:POW( (4,2),返回16.0

RAND


用法:RAND()

说明:返回大于0小于1的随机小数

示例:RAND(),返回随机小数

ROUND


用法:ROUND(数值A,[整数D])

说明:返回数值A四舍五入到小数点后D位,不填时默认为0

示例:ROUND(4.12,1),返回4.1

SQRT


用法:SQRT(数值)

说明:求数值的根号,需要大于等于0

示例:SQRT(4),返回2.0