客户想动态计算以显示正确的成本数据。
ID | 关联方属性 | 内部分包对应主合同 | 确认成本 | 确认收入 |
1 | 内部 | 无对外主项目 | 5000 | 3000 |
2 | 外部 | 有对外主项目 | 6000 | 4000 |
3 | 内部 | 有对外主项目 | 7000 | 5000 |
4 | 内部 | 无对外主项目 | 8000 | 6000 |
5 | 外部 | 无对外主项目 | 9000 | 7000 |
6 | 内部 | 有对外主项目 | 10000 | 8000 |
7 | 内部 | 无对外主项目 | 11000 | 9000 |
8 | 外部 | 有对外主项目 | 12000 | 10000 |
9 | 内部 | 有对外主项目 | 13000 | 11000 |
10 | 内部 | 无对外主项目 | 14000 | 12000 |
11 | 外部 | 无对外主项目 | 15000 | 13000 |
12 | 内部 | 有对外主项目 | 16000 | 14000 |
13 | 内部 | 无对外主项目 | 17000 | 15000 |
14 | 外部 | 有对外主项目 | 18000 | 16000 |
15 | 内部 | 有对外主项目 | 19000 | 17000 |
6 | 内部 | 无对外主项目 | 20000 | 18000 |
17 | 外部 | 无对外主项目 | 21000 | 19000 |
18 | 内部 | 有对外主项目 | 22000 | 20000 |
19 | 内部 | 无对外主项目 | 23000 | 21000 |
20 | 外部 | 有对外主项目 | 24000 | 22000 |
公司内部交易遵循一套严格的会计原则,要求根据不同的关联方属性和合同状态采用不同的计算方法来确认最终的成本。具体来说:
1、如果想复现示例,需要先把示例数据导入到模型中或者把文件导入到业务库中,详细查看:文件。 2、示例下载数据:计算列通过CASE WHEN实现动态计算.xls。 3、可以点击链接跳转到外部体验环境查看示例。 4、创建计算列可查看:创建计算列。 |
1、把数据导入到产品内置的northwind数据库中,详细查看:文件。
2、创建数据模型如下图:
3、创建计算列,表达式如下:
CASE WHEN 语法兼容性
CASE WHEN
进行封装,其语法完全依赖所连接数据库的原生实现。CASE WHEN
),但需严格遵循目标数据库的语法规范(例如:MySQL、SQL Server、Oracle 等的差异)。字符串常量格式限制
'
)表示字符串常量。"
)在此上下文中被解析为列名或标识符,因此无法用于标识字符串常量。表达式内容:
CASE WHEN ([关联方属性] = '内部' AND [内部分包对应主合同] = '无对外主项目') OR [关联方属性] <> '内部' THEN [确认成本] ELSE [确认成本] - [确认收入] END |
4、创建之后保存数据模型,如果想要查明细,可以直接去创建即席查询进行分析;如果想要汇总统计,可以创建透视分析,根据关联方属性查看调整后的成本: