页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1 概述

...

计算列允许用户在现有的表上添加新列,该列的每个值都是由用户定义的公式计算得出的。

数据模型引擎V2.0上新增了50+函数,详情查看:计算列函数

2 示例

2.1 日期是字符串格式转成日期格式

场景描述:底层表是字符串类型,数据是20241001的格式,希望转换成2024-10-01。

 1、创建计算列,使用 STRTODATE 函数进行转换:

...

1、创建计算列,使用 TODOUBLE 函数:

2、转换之后,可以用于做二次计算:


2.5 使用case when 对值进行判断

场景描述:需要根据字段的值进行输出不同的标签或者内容。

1、创建计算列,使用 CASE WHEN 逻辑函数:

Image Added

2、创建成功之后,预览数据:

Image Added


2.6 基于字段进行分组

场景描述:原始指标有A和B,现在要对A/B这个计算字段按范围分组,这个如何实现?

有2种方法实现:

方法1:先创建把A/B创建一个新的计算列,再用该字段分组。

Image Added

方法2:创建计算列,使用 IIF 函数

Image Added


2.7 去空判断

场景描述:计算两数值字段相加,如果字段为空则显示0

创建计算列,使用 IFNULL 函数,当值为null时转成0;如果为空时也可以转成0:

Image Added

2.9 求某个日期前X天/年/月/季

场景描述:有一个“订单日期”字段,把它作为筛选器,当前值是2024年7月11,现在要取这个日期的前30天?

1、创建计算列,通过DATEADD 函数实现:

信息

DATEADD(date, num, unit)
在日期中添加或减去指定的时间间隔
参数说明:
date: 表示输入的日期、日期时间
num:可以输入正整数,也可以输入负整数;正数则是根据偏移类型,进行相加;负数则是根据偏移类型进行减法。
unit:偏移类型;若unit='Y',则代表偏移年;若unit='Q',则代表偏移季;若unit='M',则代表偏移月;若unit='D',则代表偏移日。

通过输入不同的参数值,实现多年/季/月/日 的偏移。

注意:偏移类型不支持年周。


Image Added

预览结果:

Image Added


2.10 返回日期之间的天数差

场景描述:返回日期之间的天数差,比如计算下单到发货用了多久。

1、创建计算列,使用 DATEDIFF 函数实现:

信息

DATEDIF(startdate, enddate, unit)
返回两个指定日期间的天数、月数或年数。
参数说明:
startdate:代表所指定时间段的初始日期 ,支持日期、日期时间
enddate:代表所指定时间段的终止日期,支持日期、日期时间
unit:函数返回信息的类型;若unit='Y',则返回年差数;若unit='Q',则返回季差数;若unit='M',则返回月差数;若unit='D',则返回日差数。

通过输入不同的参数值,实现多年/季/月/日 的偏移。

注意:偏移类型不支持年周。


Image Added

2、预览数据:

Image Added

2.11 时间戳转成日期

场景描述:数据源里有个时间戳字段, 客户目前通过改变数据字段类型为日期是不生效的;咨询一怎么能实现时间戳转换为标准的日期格式呢?

1、创建计算列,使用UNIXTIMETODATE函数:

Image Added

2、预览结果:

Image Added

2.11 获取当年第一天

场景描述:获取当年的第一天

1、创建计算列,通过 YEAR 函数获取当前年,再用 CONCAT 进行拼接

Image Added

2、预览结果:

Image Added