1 概述
...
计算列允许用户在现有的表上添加新列,该列的每个值都是由用户定义的公式计算得出的。
在数据模型引擎V2.0上新增了50+函数,详情查看:计算列函数。
2 示例
2.1 日期是字符串格式转成日期格式
场景描述:底层表是字符串类型,数据是20241001的格式,希望转换成2024-10-01。
1、创建计算列,使用 STRTODATE 函数进行转换:
...
1、创建计算列,使用 TODOUBLE 函数:
2、转换之后,可以用于做二次计算:
2.5 使用case when 对值进行判断
场景描述:需要根据字段的值进行输出不同的标签或者内容。
1、创建计算列,使用 CASE WHEN 逻辑函数:
2、创建成功之后,预览数据:
2.6 基于字段进行分组
场景描述:原始指标有A和B,现在要对A/B这个计算字段按范围分组,这个如何实现?
有2种方法实现:
方法1:先创建把A/B创建一个新的计算列,再用该字段分组。
方法2:创建计算列,使用 IIF 函数
2.7 去空判断
场景描述:计算两数值字段相加,如果字段为空则显示0
创建计算列,使用 IFNULL 函数,当值为null时转成0;如果为空时也可以转成0:
2.9 求某个日期前X天/年/月/季
场景描述:有一个“订单日期”字段,把它作为筛选器,当前值是2024年7月11,现在要取这个日期的前30天?
1、创建计算列,通过DATEADD 函数实现:
信息 |
---|
DATEADD(date, num, unit) 通过输入不同的参数值,实现多年/季/月/日 的偏移。 注意:偏移类型不支持年周。 |
预览结果:
2.10 返回日期之间的天数差
场景描述:返回日期之间的天数差,比如计算下单到发货用了多久。
1、创建计算列,使用 DATEDIFF 函数实现:
信息 |
---|
DATEDIF(startdate, enddate, unit) 通过输入不同的参数值,实现多年/季/月/日 的偏移。 注意:偏移类型不支持年周。 |
2、预览数据:
2.11 时间戳转成日期
场景描述:数据源里有个时间戳字段, 客户目前通过改变数据字段类型为日期是不生效的;咨询一怎么能实现时间戳转换为标准的日期格式呢?
1、创建计算列,使用UNIXTIMETODATE函数:
2、预览结果:
2.11 获取当年第一天
场景描述:获取当年的第一天
1、创建计算列,通过 YEAR 函数获取当前年,再用 CONCAT 进行拼接
2、预览结果: