[]
        
在线Demo 免费试用
(Showing Draft Content)

自定义Sql表达式字段

1. 概述

1.1 功能概述

在缓存/直连数据集配置过程中,可以通过SQL表达式创建自定义字段,在不修改原始数据的情况下,利用数据库原生函数高效生成计算字段,实现数据集的灵活扩展。

1.2 应用场景

自定义Sql表达式的应用场景非常广泛,例如财务指标计算客户信息整合数据标准化处理等等。像计算'单价×数量×税率'或合并'姓+名'这类需求,用SQL表达式可一键实现,原始数据零修改。保持原始数据完整的同时,灵活扩展分析维度。

2. 操作步骤

示例: 基于购买数量与产品单价构建Sql表达式,生成金额(购买数量 × 产品单价)

2.1 前提条件

  1. 界面状态: 已进入缓存/直连数据集的数据准备界面。

  2. 表关系: 确保关联关系至少有一张表。

  3. 语法说明: 了解数据源特定的SQL语法规则

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

    • OracleFirstName || ' ' || LastName,遵守Oracle语法。

    • ExcelFirstName + ' ' + LastNameJoin(FirstName, LastName, ' '),遵守WynSql语法。

  • 表达式使用限制:

    • 行级计算: Sql表达式仅支持行内运算(如字符串拼接、数值计算),不支持聚合函数(如 SUM、GROUP BY)。

    • 参数支持: Sql表达式可以使用引用查询参数,如同使用原生 Sql 查询一样的规则,无论何种数据源,参数的引用方式都形如 @Parameter1

2.2 操作步骤

步骤一:进入字段详情视图

  1. 单击数据集编辑区的字段列表,默认进入详情视图

    PixPin_2025-04-08_09-38-38

步骤二:配置表达式字段

  1. 进入详情视图,选择任意字段,在字段所在行单击image2018-6-7_17-12-31.png,选择添加Sql表达式字段(截图以直连数据集为例),进入Sql表达式配置对话框界面。

    PixPin_2025-04-07_10-57-16

  2. 在Sql表达式配置对话框界面,输入字段名称,单击左侧数据源名称选择一个数据源并单击下拉箭头选择数据表;双击字段添加至表达式,配合WynSql函数完善表达式,最后单击保存保存并继续创建按钮完成操作。

    缓存-sql表达式

  • 查询参数引用:

    • 在表达式中使用@参数名(如@P1)引用数据集的查询参数。

    • 快速添加参数: 输入未定义的参数(如@P1)后,单击右下角的参数按钮完成参数配置。

    • PixPin_2025-04-07_11-22-27

  • PostgreSQL数据源注意事项: 字段名称需用双引号包裹(如"产品单价"*2),否则可能会报错。

  1. 计算字段添加完成后,新的字段在计算字段界面显示。您可以单击指标右侧的image2018-6-7_17-12-31.png,对指标进行编辑、删除或基于新字段继续添加计算字段。

    PixPin_2025-04-07_16-32-57

步骤三:预览数据


步骤三:预览数据

  1. 自定义Sql表达式配置完成后,首先需要设置数据集需要的输出字段(本例为展示直观,仅勾选购买数量和产品单价这两个字段)。

    PixPin_2025-04-07_12-01-57

  2. 输出字段设置完成后,单击上方操作栏的预览按钮,即可进行数据验证。

    PixPin_2025-04-07_12-03-44

    注意: 新添加的 Sql表达式字段 默认必须输出,不能取消。如不需要输出此字段,请将其删除。

    PixPin_2025-04-07_12-09-50

步骤四:保存数据集

  1. 数据验证通过后,单击上方操作栏的保存按钮,输入数据集的名称后即可保存数据集。保存后的数据集即可在仪表板/报表中进行使用。

    PixPin_2025-04-07_12-04-46

3. 注意事项

  1. 执行限制: SQL表达式直接由数据源执行,需遵循对应数据库语法规则,且不支持跨表/跨源操作。

  2. 复用限制: 当复用其他数据集时,无法添加SQL表达式字段。

  3. 性能优先级: 当需求同时适用于数据源原生函数与WynSql时,应优先采用Sql表达式,因其直接由数据源执行,可获得更优的运算性能。