SAP HANA CE function的介绍及使用

神经网络算法——损失函数(Loss Function) 本文将从损失函数的本质、损失函数的原理、损失函数的算法三个方面,详细介绍损失函数Loss Function。损失函数。 阅读详情

转自:http://bbs.erpwinner.com/thread-1931-1-1.html

CE function,即Calculation Engine Plan Operators。因为类似函数的形式,包含输入参数和输出参数,并且封装了对数据的转化的操作,常被称作CE函数,或者CE function。CE function 被用于SQLScript 存储过程中,使用CE function的存储过程可以直接在calculation engine上进行操作。一般的CE function都有与其相对应的SQL 代码的查询的实现方式,两者的使用二选其一。     首先,举一个使用CE function的样例代码,前提是CE function必须使用在SQLScript的存储过程中。

createprocedure test1(out pro_cat_join pro_cat)  
language sqlscript as
begin
      category_tab1 = CE_COLUMN_TABLE("FURNITURE"."CATEGORY");  
      category_tab2 = CE_PROJECTION(:category_tab1,["CATEGORYID","NAME"
AS
"CATEGORYNAME"]);  
      product_tab = CE_COLUMN_TABLE("FURNITURE"."PRODUCT");  
      pro_cat_join= CE_JOIN(:category_tab2,:product_tab,["CATEGORYID"],["PRODUCTID","CATEGORYID","CATEGORYNAME"]);  
end;  

常用的CE function简介数据源的访问操作系列:将列存储表格或者列视图作为数据源与表变量相绑定。1.CE_COLUMN_TABLE     这个函数使用一个已经存在的列存储表格作为数据源,选取其全部或者部分列,返回相应内容绑定到一个表变量上。     例如:选取表PRODUCT 的NAME,COLOR,PRICE三列,绑定到表变量product1上。

product1 = CE_COLUMN_TABLE("PRODUCT",["NAME","COLOR","PRICE"]);  

     使用SQL语句表示为:

product1 = select"NAME","COLOR","PRICE"from"PRODUCT";  

2.CE_JOIN_VIEW     这个函数使用一个已经存在的连接视图(即Attribute View,属性视图)作为数据源,选取其全部或者部分列,返回相应内容绑定到一个表变量上。
例如:选取属性视图 ATTR_PRODUCT的PRODUCT_NAME,CATEGORY_NAME两列,绑定到表变量product2上。

product2 = CE_JOIN_VIEW("ATTR_PRODUCT",["PROCUCT_NAME","CATEGORY_NAME"]);  

     使用SQL语句表示为:

product2 = select"PROCUCT_NAME","CATEGORY_NAME"from"ATTR_PRODUCT";  

3.CE_OLAP_VIEW     这个函数使用一个已经存在的OLAP视图(即Analytical  View,分析视图)作为数据源,选取一些关键值或者维度作为参数,按这些维度分度并求对应的聚合值,返回相应内容绑定到一个表变量上。
     例如:选取分析师图ANAL_SALE作为数据源,按CATEGORY_NAME分组,并求对应每组AMOUNT的和,返回结果绑定到表变量olap_view上。


olap_view = CE_OLAP_VIEW("ANAL_SALE", ["CATEGORY_NAME", SUM("AMOUNT")]);  

     使用SQL语句表示为:

olap_view = select CATEGORY_NAME, SUM(AMOUNT) FROM
"ANAL_SALE"
GROUP
BY CATEGORY_NAME;   

4.CE_CALC_VIEW     这个函数使用一个已经存在的计算视图(即Calculation View视图)作为数据源,选取其全部或部分属性,返回相应内容绑定到一个表变量上。
     例如:选取计算视图CALC_SALE的QUANTITY和AMOUNT属性,绑定到表变量cal上。

cal = CE_CALC_VIEW("CALC_SALE",["QUANTITY","AMOUNT"]);  

     使用SQL语句表示为:

cal = select
"QUANTITY","AMOUNT"
from
"CALC_SALE"; 
关系运算系列:可以直接在calculation engine上执行关系运算。5.CE_JOIN     这个函数可以得出给出的两个表变量通过某些属性相关联的内连接的结果集。对于相关联的两个属性,结果中只包含一个,因此要求必须有相同的属性名,否则提前进行重命名。同样,可以选择在结果中显示内连接结果的全部或部分属性。     例如:表变量:product和:category通过属性”CATEGORYID”进行内连接,并且结果中保留"PRODUCTID","PROJECT_NAME","CATEGORYID","NAME"四个属性。

product3 = CE_JOIN(:project,:category,["CATEGORYID"],["PRODUCTID","PROJECT_NAME","CATEGORYID","NAME"]);  

     使用SQL语句表示为:

product3= select P."PRODUCTID",P."PROJECT_NAME",P."CATEGORYID",C."NAME"
from :project as P innerjoin :category  as C on P."CATEGORYID"=C."CATEGORYID";   

6.CE_LEFT_OUTER_JOIN     使用方式与CE_JOIN相同,实现左外连接的功能。 7.CE_RIGHT_OUTER_JOIN     使用方式与CE_JOIN相同,实现右外连接的功能。 8.CE_PROJECTION     这个函数选取表变量中的一列或者多列,可以对每列进行重命名,计算表达式或者使用过滤条件。     例如:选取表变量:product中按条件"PRICE">50筛选并保留的"PRODUCTID","PRICE","NAME"三列,将”NAME”重命名为”CATEGORYNAME”。

product4 = CE_PROJECTION(:product,["PRODUCTID","PRICE","NAME"
AS
"CATEGORYNAME"],'"PRICE">50');  

     使用SQL语句表示为:

product4 = select
"PRODUCTID","PRICE","NAME"
AS
"CATEGORYNAME"
from :product where
"PRICE">50;  

9.CE_CALC     这个函数用于其它关系操作的函数内部,通常是计算一个表达式的值并且绑定为一个新列,比较常用于CE_PROJECTION函数中。他一般有两个参数,分别为计算的表达式和结果的数据类型。计算的表达式中还可以使用一些函数,包括转换函数、字符串函数、数学函数、日期函数以及一些其它函数。
例如:选取表变量:product中的cid, cname, oid, sales四列,并将sales与变量:vat_rate所得的乘积作为新的一列,重命名为” SALES_VAT”。with_tax = CE_PROJECTION(:product, ["CID", "CNAME", "OID", "SALES",CE_CALC('"SALES" * :vat_rate',decimal(10,2)) AS"SALES_VAT"]);  

     使用SQL语句表示为:

with_tax2 = SELECT cid, cname, oid, sales,sales * :vat_rate as sales_vat FROM :product;  

10.CE_AGGREGATION     这个函数对输入列分组并且计算每个分组的聚合结果,包含常用的COUNT 、 SUM 、 MIN 、 MAX聚合函数。
     例如:对与表变量:product按year进行分组,并计算每组的count()值。

product5 = CE_AGGREGATION (:product,[COUNT ("PRODUCT_ID") AS"CNT"], ["YEAR"]);  

     使用SQL语句表示为:

product5 = SELECT
COUNT ("PRODUCT_ID") AS cnt, year
FROM :product GROUP
BY
year;  

11.CE_UNION_ALL     这个函数计算两个具有相同列名和列顺序表变量UNION ALL的操作,即存在相同行均保留。
     例如:求两个表变量:product1和:product2的UNION ALL 操作,必须保证俩个变量的列名和顺序均相同。

              pro_union_all = CE_UNION_ALL (:product1, :product2);  

     使用SQL语句表示为:

pro_union_all = SELECT * FROM :product1 UNIONALLSELECT * FROM :product2; 
其他CE函数12.CE_VERTICAL_UNION     这个函数的功能是实现垂直UNION,即在保证行数相同的条件下,选取两个表变量的全部或者部分列拼接成为一个表变量。
     例如:将表变量:firstname的"ID", "FIRSTNAME"两列和表变量:lastname的"LASTNAME"列拼接成为一个新的表变量。


out = CE_VERTICAL_UNION(:firstname, ["ID", "FIRSTNAME"
AS
"GIVENNAME"], :lastname, ["LASTNAME"
AS
"FAMILYNAME"]);  

特殊使用1.加编号
在使用CE_CALC()时,可以使用rownum()这个函数,返回编号为新的一列,因此可以使用此方式加上编号列。
例如:

product2 = CE_PROJECTION(:product1, ["NAME","COLOR","PRICE",CE_CALC('rownum()',integer) as
"ROWNUM"]);  

     所得到的结果即2.取前n项
     根据上一例子的使用,引申类似的使用。根据rownum()得到编号后,即可以选取前n项。
     例如:取表变量:product1的前五列

product3 = CE_PROJECTION(:product1, ["NAME","COLOR","PRICE",CE_CALC('rownum()',integer) as"ROWNUM"],'"ROWNUM"<5');  

     所得到的结果即使用注意使用CE function由于直接由calculation engine处理,效率相对较高,可能会带来性能的提升。最好不要把CE function和普通的SQL语句混合使用,因为他们运行在不同的engine上,要避免数据在不同的引擎中反复传递可能会带来性能上的问题。
使用限制现有的CE function并不能实现所有常用的SQL查询所能完成的操作。例如连接操作,只有CE_UNION_ALL,可以实现UNION  ALL的操作,而没有与UNION直接相对应的CE function。同样,对于连接操作,没有于外连接(FULL OUTER JOIN)相对应的CE function。但是,可以使用其他CE function结合使用,或使用其他方式来实现相应的功能。 关于CE function的使用,请参考SAP HANA SQLScript Reference

解密SAP COPA:从特征值到值字段的盈利分析魔法 本文深入解析SAP COPA模块在盈利分析中的核心功能与配置实践,重点介绍特征值与值字段的双引擎架构及其在获利能力分析中的应用。通过详细的操作步骤和ABAP代码示例,指导企业如何配置经营范围、生产差异分析和销售开票集成,实现多维利润洞察,为战略决策提供数据支持。 阅读详情

相关推荐

SAP COPA配置避坑指南:从特征值到经营范围,手把手教你搞定获利能力分析

本文详细解析SAP COPA(获利能力分析)模块的配置技巧,从特征值设计到经营范围设置,提供实战避坑指南。重点介绍特征值取舍策略、值字段类型选择及派生逻辑设计,帮助顾问避免常见配置错误,提升系统性能和数据准确性。适用于SAP FICO顾问和COPA实施人员。

weixin_30555125的博客 345

SAP HANA 使用rowid

在SAP HANA中有多种方式获取rowid,本文主要介绍几种较为常用的方式: 1. 使用$rowid$ SELECT "$rowid$", * FROM t_rowid WHERE "$rowid$" > 6;这种方法的缺陷是不能在procedure里面的临时表中使用,此时应考虑使用第二种方法 2. 使用CE_CALC 及rownum DROP TABLE demo_

Nico的专栏 2790

SAP Adobe Form表单打印实战指南:从模板设计到程序调用

在企业信息化系统中,单据打印与PDF生成是数据流转的核心环节。传统SAP打印方案如SAP Script和Smart Forms在简单固定格式下表现稳定,但面对复杂排版、动态表格及数字化扩展需求时往往力不从心。SAP Adobe Form基于Adobe LiveCycle Designer的可视化设计,将模板与数据分离,支持二维码、数字签名、批量输出等能力,显著降低维护成本并提升交付效率。从技术对比到环境准备,从模板搭建到ABAP调用,再到连接器配置、中文字体、分页表头等高频故障排查,本文提供了一条可落地的工

weixin_33795806的博客 384

复杂的HANASQL RANK和ROW_NUMBER函数的应用

一前言基于HANA的内存数据库的强大性能, SAP建议把业务逻辑下沉到HANA中计算.以便减去应用服务器的负担,让程序性能更好一些.SAP本身的一些复杂的业务逻辑比如MRP运算(MD01)也有了新的事务 MD01N (MRP LIVE)报表类的数据分析程序尤其适用.动态报表强化了这个方式详见链接无峰,公众号:ABAP 技巧与实战动态报表D-Query简介复杂的HANASQL系列,主要介绍在项目中...

ABAP 技巧与实战 1118

MuleSoft驱动的企业级AI编排:打通LLM与SAP/ERP的生产落地路径

AI编排(AI Orchestration)是企业将大语言模型深度融入核心业务系统的关键范式,区别于简单调用API的自动化,它强调上下文感知、状态管理、异常熔断与人机协同闭环。其技术基础在于协议转换、数据映射与跨系统事务治理,核心价值体现在破解数据孤岛导致的LLM幻觉、ITSM流程与AI推理脱节引发的延迟,以及缺乏审计追踪带来的合规风险。典型应用场景覆盖采购审批、HR入职、合规审核等需联动SAP S/4HANA、Salesforce、Confluence等异构系统的端到端工作流。MuleSoft凭借其企业级

diyudong4681的博客 600

关于 SAP HANA CE Function

CE Function,即 Calculation Engine,是 HANA SPS02 中引入的一种机制,它允许直接访问 HANA 列存储。它们允许极其精确地控制如何精准投影、计算和聚合列。 事实上,它们是原始 HANA 列存储如何建模向量函数的直接表示。 CE Function 执行的效率如何? 它们完全绕过了 SQL 优化器,意味着您想要执行的任何操作都在列存储中运行,

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 585

损失函数合集

交叉熵损失主要是用于判断实际输出与期望输出的接近程度交叉熵损失刻画的是实际输出的概率与期望输出的概率的距离。交叉熵损失越小,两个概率分布就越接近,即实际输出与期望输出越相似。概率分布p是期望输出,概率分布q是实际输出,得到的是两个概率分布之间的距离远近。

qq_52819488的博客 1536

用 generative AI hub Orchestration 调用 SAP-ABAP-1 的推理 payload 设计

本文介绍了SAP-ABAP-1模型在ABAP开发中的应用,该模型通过SAP AI Core的生成式AI中心服务,帮助开发者理解复杂ABAP代码。文章详细说明了如何通过HTTP POST请求调用该模型,包括必要的请求头、认证方式和JSON数据结构。重点指出prompt_templating和model configuration两个关键模块的作用,前者用于构建结构化prompt,后者用于配置模型参数。同时强调输入代码质量对输出结果的决定性影响,建议提交前清理无效代码和注释,以确保模型准确理解当前有效逻辑。通过

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1070

SAP HANA CE Function

SAP HANA CE Function: CE_COLUMN_TABLE: ot_books1 = CE_COLUMN_TABLE("BOOKS");                                                   ====>         ot_book3 = SELECT * FROM books; ot_books2 = CE_COLUMN_TA

SAP HANA 专栏 2006

SAP分配分摊重过帐原理与三大引擎模式解析

分配分摊是企业成本核算的核心机制,其重过帐功能直接影响财务数据准确性与关账效率。该过程涉及标准、迭代、累计三种底层引擎模式,分别对应单次写入、依赖图回溯、时间序累计等不同计算逻辑。理解其数学约束(如无环拓扑、64位浮点精度、严格时间戳顺序)是规避‘越算越不准’‘月末卡住’等典型故障的关键。在SAP S/4HANA中,这些模式深度耦合于CO主数据表CE1/CE2、分配循环配置及KSU5诊断能力,广泛应用于制造、能源等多层级成本分摊场景。本文聚焦真实生产环境下的引擎行为、校验逻辑与加固实践。

weixin_32430941的博客 239

[ESP32]:基于esp-modbus实现serial主机

[ESP32]:基于esp-modbus实现serial主机

LINKKEEE的博客 2567

CE function 在 SAP HANA 中的介绍及使用

CE function,即Calculation Engine Plan Operators。因为类似函数的形式,包含输入参数和输出参数,并且封装了对数据的转化的操作,常被称作CE函数,或者CE function。CE function 被用于SQLScript 存储过程中,使用CE function的存储过程可以直接在calculation engine上进行操作。一般的CE function都有与其相对应的SQL 代码的查询的实现方式,两者的使用二选其一。 首先,举一个使用CE function

ChampaignWolf的专栏 2861

MITRE ATT&CK超详细学习笔记-01(背景,术语,案例)

MITRE是一个向美国政府提供系统工程、研究开发和信息技术支持的非营利性组织,于1958年从麻省理工学院林肯实验室分离出来后参与了许多最高机密的政府项目,开展了大量的网络安全实践。例如,MITRE公司在1999年发起了常见披露漏洞项目(CVE,CommonVulnera-bilitiesandExposures)并维护至今。其后,MITRE公司还维护了常见缺陷列表(CWE,CommonWeaknessEnumeration)这个安全漏洞词典。.........

Zichel77的博客 1万+

SAP HANA存储过程开发:选型、语法与性能调优实战

数据库存储过程是一种将复杂业务逻辑下推至数据库层执行的技术。在SAP HANA中,存储过程(SQLScript Procedure)基于列式存储与并行计算引擎,其编译、优化和执行机制与传统数据库截然不同。它擅长处理需要过程式控制、中间结果反复引用及动态SQL的复杂数据加工场景,如财务对账、批量数据迁移等。与CDS View的声明式建模和AMDP的ABAP托管方式相比,独立存储过程在灵活调度与非ABAP调用上更具优势。然而,若使用不当,易出现性能瓶颈与维护难题。结合十年项目经验,从环境选型、语法细节、性能调优

weixin_33946020的博客 324

ArcGISPro小白必看:5分钟搞定3D地形图制作(附免费数据源)

本文为ArcGISPro初学者提供5步制作专业3D地形图的完整指南,涵盖免费数据获取、项目初始化、数据预处理、3D场景构建和成果输出等关键步骤。特别推荐使用NASA的SRTM高程数据和吉林一号卫星影像,帮助用户快速掌握3D地形图制作技巧,适用于教学演示和科研分析。

weixin_28314575的博客 240

【LAMMPS学习】四、运行 LAMMPS(2)命令行选项

本部分解释了在安装可执行文件或下载源代码并构建可执行文件后如何运行 LAMMPS。命令文档页面描述了输入脚本的结构以及它们可以包含的命令。

荷塘阅色 5242

HANA CE function 学习笔记

看到吧里有人提到hana sql 和 Oracle sql 的区别。 我是外行看不大懂。就按自己目前粗浅的理解, sap 为我们这些写不好sql的菜鸟准备了CE function.  模仿前人,我也上表 阐述sql 和CE function的联系与区别   sql CE-build in function 1.select on Column t

SAP HANA资料_HANA教程_HANA文档_HANA学习视频 3576

DataX对接数据如何在ODS加密脱敏数据(插件开发)

datax对接mysql数据,对姓名只保留姓,名变成**。对这种简单的脱敏,可以不用修改datax源码,直接在配置文件上实现。

大模型大数据攻城狮的专栏 994

SAP HANA底层架构解析:列存、内存计算与计算引擎深度拆解

内存数据库是现代企业实时数据处理的基础范式,其核心在于将DRAM作为唯一可信数据源,而非传统缓存层;列式存储则超越物理布局,本质是面向CPU SIMD指令集与现代微架构优化的数据组织方式。这种架构设计带来显著技术价值:实现OLTP与OLAP混合负载下的亚秒级响应、消除ETL延迟、支撑预测性分析原生执行。典型应用场景覆盖SAP S/4HANA的FICO总账实时核算、PP生产计划预测、MM采购分析等关键业务模块。本文聚焦SAP HANA真实生产环境中的存储引擎(列存/行存协同)、计算引擎(SQLScript与C

weixin_33857679的博客 370

Open3D点云算法与点云深度学习案例汇总(长期更新)

Open3D-python算法专栏文章汇总,长期更新算法原理与实战案例。

纵马踏花向自由 7469

ImportError: DLL load failed: 找不到指定的程序的解决方案

本文主要介绍了ImportError: DLL load failed: 找不到指定的程序的解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 18万+

SAP-ABAP:AMDP 开发实战:HANA 原生能力调用与大数据量计算优化

本文详解S/4 HANA中AMDP技术,通过对比FOR ALL ENTRIES、CDS与AMDP在大数据量处理中的性能差异,展示AMDP调用HANA原生函数实现窗口函数、递归CTE及矩阵运算的高效能力。结合应收账款账龄分析、成本分摊计算等场景,证明AMDP可实现5-20倍性能提升,尤其适用于复杂算法落地与海量数据批量计算,是S/4 HANA性能优化的核心利器。

baidu_35680696的博客 282

AD-Copilot 论文解读:把“大模型看图”升级为“对照检验”的工业异常检测助手

本文提出AD-Copilot,一个面向工业异常检测的视觉语言助手,通过视觉上下文比较解决现有方法的不足。针对工业场景中多模态大模型表现不佳的问题,作者指出核心原因在于缺乏工业数据和比较能力不足。为此,论文提出三个关键贡献:构建Chat-AD数据集,设计Comparison Encoder显式建模图像差异,以及采用多阶段训练策略。实验表明,该方法在MMAD基准上达到82.29%准确率,定位任务提升3.35倍,并展现出良好的泛化能力。消融实验验证了比较模块的有效性,表明其成功源于高质量比较数据与显式比较模块的协

blanokvaffy的博客 333

SAP ABAP增强重构:从Customer Exits到函数模块的架构优化实践

在SAP ABAP开发领域,系统增强是满足企业定制化需求的核心技术手段。其原理是通过预定义的出口点,在不修改标准代码的前提下注入自定义逻辑,从而扩展标准功能。传统的增强方式虽然解决了合规性问题,但常导致代码分散、复用性差和维护困难。通过将增强逻辑重构为独立的函数模块,可以实现业务规则的模块化封装,显著提升代码的可维护性和可测试性。这种架构优化尤其适用于销售订单、物料主数据等核心业务流程的定制开发,能够将散落的增强点整合为统一的服务,最终自然收敛到基于函数模块的第二代增强实践,有效管理增强点并实现逻辑复用。

weixin_33912453的博客 417

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP ABAP 实现类似百度谷歌搜索引擎基础算法之一的,编辑距离算法

这份代码是一个(供应商银行数据双向核对报表)。它主要用于解决 SAP 系统与外部 SRM(供应商关系管理)系统之间,因为手工录入、接口异常或历史遗留问题导致的数据不一致问题。

xiaoadoudou的博客 557

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

darry_wolf
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值