页面树结构

版本比较

标识

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

...

信息
title前提条件

1、如果想复现示例,需要先把示例数据导入到模型中或者把文件导入到业务库中,详细查看:文件

2、示例下载数据:计算列通过CASE WHEN实现动态计算.xls

3、可以点击链接跳转到外部体验环境查看示例。

4、创建计算列可查看:创建计算列


1、把数据导入到产品内置的northwind数据库中,详细查看:文件

2、创建数据模型如下图:

3、创建计算列,表达式如下:

由于产品并没有封装case when的函数,这个写法是遵循连接的数据库的case when 函数;计算列支持写原生数据库的函数。

Image Removed

4、创建之后保存数据模型,如果想要查明细,可以直接去创建即席查询进行分析;如果想要汇总统计,可以创建透视分析,根据关联方属性查看调整后的成本:

...

  1. CASE WHEN 语法兼容性

    • 由于产品未对 CASE WHEN 进行封装,其语法完全依赖所连接数据库的原生实现。
    • 计算列支持直接调用数据库原生函数(如 CASE WHEN),但需严格遵循目标数据库的语法规范(例如:MySQL、SQL Server、Oracle 等的差异)。
  2. 字符串常量格式限制

    • 在计算列的语法定义中,仅支持单引号(')表示字符串常量
    • 双引号(")在此上下文中被解析为列名或标识符,因此无法用于标识字符串常量。

Image Added

表达式内容:

代码块
languagecpp
CASE
WHEN ([关联方属性] = '内部' AND [内部分包对应主合同] = '无对外主项目')
OR [关联方属性] <> '内部'
THEN [确认成本]
ELSE [确认成本] - [确认收入]
END

4、创建之后保存数据模型,如果想要查明细,可以直接去创建即席查询进行分析;如果想要汇总统计,可以创建透视分析,根据关联方属性查看调整后的成本:

Image Added