创建报表时,用户可能需要无法直接从数据库获取的信息,则需要通过创建计算字段来获取。
计算字段是指使用已经存在的字段,通过四则运算或是函数等书写表达式形成的新字段,此字段用于创建业务主题、可视化数据集和即席查询。
计算字段通常使用计算表达式或SQL表达式获取结果集。
数据源设置的计算字段是全局计算字段,可以被其所属数据源下的其他资源使用。
操作入口
在某数据源的“计算字段”节点的更多操作中,选择 新建 > 计算字段,进入到“计算字段”界面。
界面介绍
“设置计算字段”界面主要分以下几个区域:
- 可选资源区:该区主要列出了设置计算字段可选择使用的资源。主要包含表字段、参数、业务属性、函数和用户属性等。
- 设置区:该区主要列出了所有计算字段的设置项,这些设置项的说明如下:
设置项 | 说明 |
---|---|
名称 | 真名 |
别名 | 显示名称 |
描述 | 备注信息 |
数据类型 | 字段的数据类型。主要包括:字符串、整型、长整型、长浮点型、浮点型、日期、时间、日期时间、BINARY、ASCII和未知。 |
格式 | 设置字段的显示格式。根据数据类型获取对应存在的数据格式,数据格式的创建具体请参考 数据格式。 |
表达式 | 计算字段的表达式,通常由计算表达式或SQL表达式定义。可以从左侧拖拽字段,需注意的是对于同一个计算字段,表达式使用的资源必须都为拖拽字段或是书写的文本字段,不能混合使用。 |
是否参与分组 | 是否参与分组即为在查询时是否对该计算字段进行“Group By”。默认是自动,如使用聚合函数,不想对计算字段进行“group by”则需修改为否。 |
是否生成SQL | 是否生成SQL是指在使用此计算字段时,此计算字段的表达式是否在数据集中生成SQL。 选择“否”只有下面情况才会用到: 当“是否生成SQL”的值为“否”时,可以用以下三个函数来定义计算字段:
示例:数据库表中没有关于“序号”的列,可通过计算字段实现。 除以上情形外,该项的值皆为“是”。 |
示例
1、创建运用计算字段
- 创建计算字段
下面以创建计算字段“销售额”为例,介绍如何新建计算字段:
(1)northwind数据源的“计算字段”节点更多操作中,选择 新建 > 计算字段,进入到“计算字段”界面
(2)输入名称“销售额”;
(3)拖入订单明细表中字段:“单价”、“数量”、“折扣”至表达式区;
(4)输入表达式:单价(4)输入表达式(以拖动对象为“字段”为例):单价*数量*(1-折扣)
注意 |
---|
请使用英文字符 |
(5)对字段进行保存,数据源节点下生成计算字段:销售额
- 运用计算字段
接下来以上述新建计算字段“销售额”在即席查询中的运用为例,介绍如何使用计算字段:
(1)分析展现中新建即席查询,选择数据源northwind
(2)产品表中选择字段“产品名称”
(3)计算字段中选择“销售额”
(4)刷新查看展示效果
注意 |
---|
关于即席查询的详细介绍可参考文档即席查询-概述说明 |
2、表达式示例
- 以表为基础创建表达式表达式拖动对象为表
以创建计算字段:“产品是否售罄“为例:
(1)输入表达式:
(2)运用计算字段
- 以参数为基础创建表达式表达式拖动对象为参数
以创建计算字段“折算汇率”为例:
(1)输入表达式:
(2)运用计算字段
- 以过滤器为基础创建表达式表达式拖动对象为过滤器
以创建计算字段“是否打折”为例:
(1)输入表达式:
(2)运用计算字段:
- 以函数为基础创建表达式表达式拖动对象为函数
以创建计算字段:“祥细地址”为例:
(1)输入表达式:
(2)运用计算字段:
- 表达式拖动对象为视图
以创建计算字段:“产品是否售罄”为例:
(1)输入表达式:
(2)运用计算字段:
- 表达式拖动对象为业务属性
以创建计算字段“总价”为例:
(1)输入表达式:
(2)运用计算字段: