计算字段函数说明
公式本身不带聚合功能,如需聚合,则在公式外面包含聚合函数,如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