文章 查看内容

函数计算格式

函数计算格式

54 0 函数专题 2024-6-21 15:56 发布者: 观小凡

用户需要经常使用函数进行计算,因此正确有效的函数写法就显得非常重要。本文介绍观远BI函数的组成和正确写法格式。
 

1. 功能说明

用户需要经常使用函数进行计算,因此正确有效的函数写法就显得非常重要。本文介绍观远BI函数的组成和正确写法格式。

2. 应用场景

使用位置

ETL

添加计算列、SQL节点

数据集

模型结构、新建计算字段、行列权限

卡片

新建计算字段

3. 函数组成

函数表达式可以由五个要素组成:

序号

要素

说明

1

函数

用于对字段中的值或常量进行转换的语句

2

字段

数据表中的字段名

3

运算符

指明运算的符号

4

文本表达式

按照写入内容表示的常量值

5

全局参数

引用动态参数

示例:

4. 使用说明

内容

示例

使用说明

函数

DATEDIFF;

case when ...end

左侧函数栏仅列出部分常用Spark函数,并非全部可用函数;

支持从函数栏选择和手动输入Spark函数,不区分大小写,左侧函数列表里的函数在编辑框里显示为红色

支持在计算中组合、嵌套使用多个函数;

直连数据库需使用对应数据库的SQL语法,部分数据库函数需区分大小写。

字段

[销售数量]

input1.`StatusID`

从左侧字段框中选择字段,系统自动加上 [] 标注字段名,展示为蓝色;SQL算子中,选择字段后自动添加表名和反引号(`)来标注字段名,显示为黑色。

不建议手动输入字段名,以防出现输入错误。

运算符

=

详情参见:计算运算符和优先级

文本表达式

字符串文本:'待处理''处理中'

数值文本:06

字符串需放在成对的半角单引号(')或双引号(")中间,展示为绿色

数值展示为紫色。

全局参数

[DYNAMIC_PARAMS.查询日期]

从参数列表里选择参数,展示为蓝色;非全部场景可用,使用场景请参考 全局参数

注意:并非所有计算都需要包含所有五个要素,具体由函数用法决定;函数语法里需要使用到的标点符号需要是半角符号。

5. 操作步骤

6. 注意事项

6.1. 添加计算列、新建计算字段

手动选择输出的字段类型,只有选择和函数返回结果一致的类型,后续才能正常参与计算。

正确示范:

DATEDIFF([DYNAMIC_PARAMS.查询日期],[日期]) 计算的2个日期之间的间隔天数,返回的是整数,那么应该选择“数值”;

DATEDIFF([DYNAMIC_PARAMS.查询日期],[日期]) between 0 and 6 是判断间隔天数是否大于等于0且小于等于6,返回结果应该是true/false, 那么类型就是“布尔型”。

错误示范:

示例一:substr() 用途是文本截取,返回的都是文本string,强行设定为“日期”类型,以后用该字段联动日期筛选器或者计算同环比时都容易出问题;

示例二:返回的结果字段 [销售金额] 是数值类型,但是 '0' 有一对单引号,是文本,那么返回的数据里数值和文本混在一起,系统会统一处理成文本类型,手动选择为“数值”,后续会无法进行聚合计算(例如求和)。

修改方案:(非唯一方案)

6.2. ETL-SQL算子

  • SQL算子不需要手动设置字段类型,系统会根据函数和返回的数据自动判断字段类型;
  • 建议对使用函数新建的的字段重命名,引用或重命名字段时,若包含特殊字符或中文字符,需用反引号("`")标注该字段名。例如 SELECT `地区`, `门店`, SUM(`成本`) AS `总成本` FROM input1 GROUP BY 1,2


路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (1 人)

评论

您需要登录后才可以发表言论 登录立即注册
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2024 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去评论 去发文 返回顶部
返回顶部