转至元数据结尾
转至元数据起始

1. 内容概述



添加自定义字段可以在不影响原数据的情况下通过对现有数据进行计算得到一个新的数据字段。

使用Sql表达式添加自定义字段不仅能够让您充分使用数据源原生的能力(如库函数等),还能令您设计的数据集有更高的运算效率。

注意

  1. Sql表达式字段是直接在数据源上执行的,执行效率较高但必须遵循数据源的语法规则且不能跨表跨源操作。
  2. 只有在“详情”视图模式下,才可以添加自定义字段。



2. 添加Sql表达式字段



(1)   在字段所在行单击,选择”添加Sql表达式字段“。


(2)   (以报表数据集为例)在弹出的Sql表达式配置对话框中输入新添加的字段名称;单击左侧数据源名称选择一个数据源并单击下拉箭头选择数据表;

双击字段名将其添加到表达式再添加具体函数完成表达式的书写,最后按需选择直接“保存”或“保存并继续创建”按钮。


提示

  • 在表达式中,可以使用@符号引用数据集中的查询参数。
    如需使用之前未定义过的查询参数,则先在表达式中书写,如“@P1”,然后单击右下角的“参数”按钮快速添加参数。

  • 如果当前连接的数据源为Postgres类型时,表达式中需为原字段添加双引号。如"产品单价"*2


(3)   预览。勾选产品单价作为输出字段,单击页面上方的预览按钮,预览效果如下。

新添加的Sql表达式字段不能取消勾选“输出”复选框。如不需要输出此新加字段,请将其删除。

3. 语法说明



  • Sql表达式遵循其引用字段所在表的数据源规定的语法。

例如Oracle源上有一个表TableA,您准备针对TableA中的字段 FirstName 和 LastName 设计一个新的字段 FullName,其值为 FirstName+空格+LastName。

按照Oracle的语法,您需要在表达式输入栏中填写 FirstName || " " || LastName 并命名此字段名为 FullName。

如果此源是Excel,则您需要遵守WynSql的语法: FirstName + ' ' + LastName,或者 Join(FirstName, LastName, ' ')

  • Sql表达式只能用来在数据行级别进行运算。因为本质它相当于数据源上的“select XXX from Table”无法支持GroupBy操作,故而不能使用Sum等聚合函数。
  • Sql表达式能够使用查询参数。如同使用原生Sql查询一样的规则,无论何种数据源,参数的引用方式都形如 @Parameter1。


  • 无标签