字符串处理类
LEFT
用法: LEFT(<度量字段>,< n >), 函数返回<字段>值从左边第1个字符开始,长度为n的字符串
示例: LEFT(字段1,3) 返回值为”ABC”;字段1的值为”ABCDEF”;
RIGHT
用法: RIGHT(<度量字段>,< n >), 函数返回<字段>值从右往左数的长度为n的字符串
示例: RIGHT(字段1,3) 返回值为”DEF”;字段1的值为”ABCDEF”;
MID
用法: MID(<度量字段>, < start >, < n >), 函数返回<字段>值从从左边第start个开始, 长度为n的字符串
示例: MID(字段1, 3, 3) 返回值为”CDE”;字段1的值为”ABCDEF”;
POS
用法: POS(<度量字段>,<字串>), 函数返回<字串>在<文本>中的位置, 如无匹配则返回-1;
示例: POS(字段1,”DE”) 返回值为4;字段1的值为”ABCDEF”;
UPPER
用法: UPPER(<度量字段>), 将<字段>的值转换成大写;
示例: UPPER(字段1) 返回值为”ABCDEF”;字段1的值为”AbcdeF”;
LOWER
用法: LOWER(<度量字段>), 将<字段>的值转换成小写;
示例: LOWER(字段1) 返回值为”abcdef”;字段1的值为”AbcdeF”;
VAL
用法: VAL(<度量字段>), 将<字段>文本类型转换成数值类型
示例: VAL(字段1) 返回值为 123;字段1的值为”123”;
LEFTTRIM
用法: LEFTTRIM(<度量字段>), 去掉<字段>左边的空格后返回
示例: LEFTTRIM(字段1) 返回值为”ABC”;字段1的值为” ABC”;
RIGHTTRIM
用法: RIGHTTRIM(<度量字段>), 去掉<字段>右边的空格后返回
示例: RIGTTRIM(字段1) 返回值为”ABC”;字段1的值为”ABC “;
NUMBERTOSTRING
用法: NUMBERTOSTRING(<数值>), 数值类型的数据转换成字符串
示例: NUMBERTOSTRING(字段1) 返回值为”12345”;字段1的值为”12345 “;
SPLITPART
用法: SPLITPART(<字符串字段>,分隔字符,子串位置), 公式会将一个字符串按照“分隔字符”将其分为N个子串(N等于分隔字符的数量2+1),子串位置从1(从左往右)开始计数,或者从-1(从右往左)开始计数
*示例: SPLITPART(<字段1>,A,2) 返回值为”BCD”;字段1的值为”ABCDABHABC”;子串位置填写-5时,也可以取到”BCD”
CONCAT
用法: CONCAT(<字段>,<字段>,…..), 公式会将多个字段连接为一个字符串。入参必须为字符串类型的字段
示例: CONCAT(<字段1>,<字段2>) 返回值为”ABCD”;字段1的值为”A”,字段2的值为”BCD”
ROUND
用法: ROUND(<字段>,<精度>), 四舍五入地对字段进行小数位数调整
示例: ROUND(<字段1>,<精度>) 返回值为”12.33”;字段1的值为”12.33333”,精度为2
MOD
用法: MOD(<字段>,<字段>), 取模运算
示例: MOD(<字段1>,<字段2>) 返回值为”1”;字段1的值为”3”,字段2的值为”2”
CASEWHEN
用法: CASEWHEN(<条件>,<值>,<条件>,<值>…..), 类同SQL中的case when语法
示例: CASEWHEN(<性别字段>=”男”,”male”,<性别字段>=”女”,”female”),则该字段值为”男”的被替换为”male”,”女”替换为”female”
STRINGTODATE
用法: STRINGTODATE(<字段>,<格式>), 字符串转时间
示例: STRINGTODATE(“1989-09-27”,”yyyy-MM”)返回值为”198909”
以上两个函数的format格式目前统一为java 中格式化保持一致,支持格式类型如下:
yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
NOW
用法: NOW(),获取当前时间
示例: 略
DATEADD
用法: DATEADD(<时间字段>,<偏移量>,<时间粒度>),在<时间字段>的基础上增加”时间粒度”乘以”数量”的时间偏移量。
时间粒度可选值为:
YEAR 年
MONTH 月
DAY 日
HOUR 时
MINUTE 分
SECOND 秒
示例: DATEADD(“1989-09-01”,10,”DAY”),返回值为1989-09-11
DATEDIFF
用法: DATEDIFF(<时间字段1>,<时间字段2>,<时间粒度>),两个时间字段时间的间隔
时间粒度可选值为:
YEAR 年
MONTH 月
DAY 日
HOUR 时
MINUTE 分
SECOND 秒
示例: DATEDIFF(“1989-09-01”,”1989-09-11”,”DAY”),返回值为10
DATEFORMAT
用法: DATEFORMAT(<日期字段>,<时间格式>),将日期格式化成字符串
示例: DATEFORMAT(<日期字段>,”yyyy-MM-dd”),若日期字段有个值为1989年8月4日,则返回值为1989-08-04,格式化时,也可以将”-“改为”/“等字符
聚合类
示例数据集1
数据集
BU | 部门 | 预算类型 | 费用 |
---|---|---|---|
xxpt | 协同 | 团建费 | 500 |
xxpt | 协同 | 培训费 | 200 |
xxpt | IT | 团建费 | 700 |
xxpt | IT | 培训费 | 150 |
aliyun | 飞天1 | 团建费 | 200 |
aliyun | 飞天1 | 培训费 | 100 |
表格
BU | 部门 | 部门总费用 |
---|---|---|
xxpt | 协同 | 700 |
xxpt | IT | 850 |
aliyun | 飞天1 | 300 |
示例数据集2
数据集
BU | 部门 | 预算类型 | 费用 |
---|---|---|---|
xxpt | 协同 | 团建费 | 500 |
xxpt | 协同 | 培训费 | 200 |
xxpt | 协同 | 团建费 | 500 |
xxpt | 协同 | 培训费 | 200 |
xxpt | IT | 团建费 | 700 |
xxpt | IT | 培训费 | 150 |
xxpt | eHR | 培训费 | 0 |
xxpt | eHR | 团建费 | 0 |
aliyun | 飞天1 | 团建费 | 200 |
aliyun | 飞天1 | 培训费 | 100 |
表格
BU | 部门 | 预算类型 |
---|---|---|
xxpt | 协同 | 团建费 |
xxpt | 协同 | 培训费 |
xxpt | IT | 团建费 |
xxpt | IT | 培训费 |
xxpt | eHR | 培训费 |
xxpt | eHR | 团建费 |
aliyun | 飞天1 | 团建费 |
aliyun | 飞天1 | 培训费 |
SUM
用法: SUM(<度量字段>,[条件],[排除字段]) 返回合乎[条件]下, 对<字段>进行求和的结果, [排除字段] 不参与求和的交叉计算;
示例: 使用示例数据集1
部门团建费=SUM(费用, 预算类型="团建费")
表格结果
BU | 部门 | 部门总费用 | 部门团建费 |
---|---|---|---|
xxpt | 协同 | 700 | 500 |
xxpt | IT | 850 | 700 |
aliyun | 飞天1 | 300 | 200 |
BU团建费=SUM(费用, 预算类型="团建费", 部门)
表格结果
BU | 部门 | 部门总费用 | 部门团建费 | BU团建费 |
---|---|---|---|---|
xxpt | 协同 | 700 | 500 | 1200 |
xxpt | IT | 850 | 700 | 1200 |
aliyun | 飞天1 | 300 | 200 | 200 |
AVG
用法: AVG(<度量字段>,[条件],[排除字段])返回合乎[条件]下, 对<字段>进行求平均的结果, [排除字段] 不参与求和的交叉计算;
示例: 使用示例数据集1
部门平均团建费=AVG(费用, 预算类型="团建费",部门)
表格结果
BU | 部门 | 部门总费用 | 部门平均团建费 |
---|---|---|---|
xxpt | 协同 | 700 | 600 |
xxpt | IT | 850 | 600 |
aliyun | 飞天1 | 300 | 200 |
所有平均团建费=AVG(费用, 预算类型='团建费',部门,BU)
表格结果
BU | 部门 | 部门总费用 | 部门平均团建费 | 所有平均团建费 |
---|---|---|---|---|
xxpt | 协同 | 700 | 600 | 466.67 |
xxpt | IT | 850 | 600 | 466.67 |
aliyun | 飞天1 | 300 | 200 | 466.67 |
MAX
用法: MAX(<度量字段>,[条件],[排除字段])返回合乎[条件]下, 对<字段>求最大值的结果, [排除字段] 不参与求和的交叉计算;
示例: 使用示例数据集1
部门最高团建费=MAX(费用, 预算类型='团建费')
表格结果
BU | 部门 | 部门总费用 | 部门最高团建费 |
---|---|---|---|
xxpt | 协同 | 700 | 500 |
xxpt | IT | 850 | 700 |
aliyun | 飞天1 | 300 | 200 |
BU最高团建费=MAX(费用, 预算类型="团建费", 部门)
表格结果
BU | 部门 | 部门总费用 | 部门平均团建费 | BU最高团建费 |
---|---|---|---|---|
xxpt | 协同 | 700 | 600 | 700 |
xxpt | IT | 850 | 600 | 700 |
aliyun | 飞天1 | 300 | 200 | 200 |
MIN
用法: MIN(<度量字段>,[条件],[排除字段])返回合乎[条件]下, 对<字段>求最小值的结果, [排除字段] 不参与求和的交叉计算;
示例: 使用示例数据集1
部门最低团建费=MIN(费用, 预算类型="团建费")
表格结果
BU | 部门 | 部门总费用 | 部门最低团建费 |
---|---|---|---|
xxpt | 协同 | 700 | 500 |
xxpt | IT | 850 | 700 |
aliyun | 飞天1 | 300 | 200 |
BU最低团建费=MIN(费用, 预算类型="团建费", 部门)
表格结果
BU | 部门 | 部门总费用 | 部门平均团建费 | BU最低团建费 |
---|---|---|---|---|
xxpt | 协同 | 700 | 600 | 500 |
xxpt | IT | 850 | 600 | 500 |
aliyun | 飞天1 | 300 | 200 | 200 |
COUNT
用法: COUNT(<度量字段>,[条件],[排除字段])返回合乎[条件]下, 对<字段>进行计数的结果, [排除字段] 不参与求和的交叉计算;
示例: 使用示例数据集2
部门预算条数 = COUNT(部门, 费用>0,预算类型)
表格结果
BU | 部门 | 预算类型 | BU部门数量 |
---|---|---|---|
xxpt | 协同 | 团建费 | 4 |
xxpt | 协同 | 培训费 | 4 |
xxpt | IT | 团建费 | 2 |
xxpt | IT | 培训费 | 2 |
aliyun | 飞天1 | 团建费 | 2 |
aliyun | 飞天1 | 培训费 | 2 |
COUNTDISTINCT
用法: COUNTDISTINCT(<度量字段>,[条件],[排除字段])返回合乎[条件]下, 对<字段>进行去重计数的结果, [排除字段] 不参与求和的交叉计算;
示例: 使用示例数据集2
BU部门数量 = COUNTDISTINCT(部门, 费用>0,预算类型)
表格结果
BU | 部门 | 预算类型 | BU部门数量 |
---|---|---|---|
xxpt | 协同 | 团建费 | 1 |
xxpt | 协同 | 培训费 | 1 |
xxpt | IT | 团建费 | 1 |
xxpt | IT | 培训费 | 1 |
aliyun | 飞天1 | 团建费 | 1 |
aliyun | 飞天1 | 培训费 | 1 |
😋如果上述帮助文档未能解决您的问题,请联系 幸福的棉花糖