使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript

本文介绍了服务器端JavaScript的发展历程,从1995年Netscape引入的第一个实现开始,到1996年IIS支持Microsoft的JScript,再到2009年Node.js的出现。文中还展示了如何在SAP HANA Web-Based Development Workbench中创建一个简单的echo应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器端的JavaScript, 看下wikipedia的介绍: https://en.wikipedia.org/wiki/JavaScript#Server-side_JavaScript Server-side JavaScript

In December 1995, soon after releasing JavaScript for browsers, Netscape introduced an implementation of the language for server-side scripting with Netscape Enterprise Server.

Since 1996, the IIS web-server has supported Microsoft's implementation of server-side Javascript -- JScript -- in ASP and .NET pages.

Since the mid-2000s, additional server-side JavaScript implementations have been introduced, such as Node.js in 2009.

再看SAP的Server Side(服务器端) JavaScript解决方案:SAP Extended Application Service 打开SAP HANA Web-Based Development Workbench:

创建一个新的package:

创建一个新的Application:

创建一个新的文件test.xsjs, 内容如下:

var userInput = $.request.parameters.get("userStuff");
$.response.contentType = "text/html";
$.response.setBody(userInput);
复制代码

这个hello world应用是一个简单的echo应用:将用户通过url传进来的数据直接输出。 测试:

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

<think>嗯,用户问的是在HANA的Script-Based Calculation View中创建计算视图的语法。我需要先回忆一下相关的内容。记得SAP HANA的计算视图可以用图形化工具创建,但Script-Based的话是使用.hdbcalculationview文件,基于SQL脚本的。 首先,用户可能已经了解图形化方法,现在想转向代码方式,可能是为了版本控制或者更灵活的控制。需要确认语法结构,比如命名空间、类型、属性、投影、连接等步骤。 然后,得确保提到必要的部分,比如namespace,import其他视图,定义数据源,比如Projection,Join,Aggregation。每个节点的作用可能需要简要说明,比如Projection是选择字段,Join是合并表,Aggregation是汇总数据。 还要注意参数和变量的声明方法,可能用户需要动态过滤数据。另外,输出字段的定义也很重要,要说明如何指定度量、属性,以及设置聚合类型。 可能用户会混淆.hdbcalculationview和普通的SQL脚本,需要明确这是基于特定语法的JSON结构或者类似的方式。另外,示例代码会有帮助,所以应该给出一个简单的例子,涵盖创建命名空间、引入表、投影、连接、聚合,最后定义输出。 还要注意HANA的版本,语法是否有变化,但一般基础结构是类似的。提醒用户需要激活这些设计时对象,并且可能需要使用HANA Studio或Web IDE来开发。 最后,检查是否有遗漏的部分,比如变量、输入参数的使用,或者如何设置层次结构、计算列等高级功能。不过作为介绍,可能保持基础更好,用户有进一步问题再深入。</think>在SAP HANA的Script-Based Calculation View中,创建计算视图的语法主要基于SQLScript,以下是核心语法结构和关键要素的分步说明: 1. **基础结构声明** ```sql -- 声明计算视图类型和命名空间 CALCULATION VIEW "<视图名称>" -- 必须指定包路径 PACKAGE "<包路径>" -- 视图类型:通常为 CALCULATION(默认)或 AGGREGATION AS <视图类型> WITH PARAMETERS ( -- 定义输入参数(可选) 'PARAM1' = 'VALUE1', 'PLACEHOLDER' = ('$$参数名$$', '默认值') ) ``` 2. **数据源定义** ```sql -- 导入基础表或已有视图 IMPORT "<Schema名称>"."<表/视图名称>" AS <别名> ``` 3. **节点操作** - **投影节点**(字段选择) ```sql PROJECTION "<源对象名称>" AS <投影别名> { -- 指定输出字段 <字段列表>, -- 可添加计算列 ADD '新列名' AS <表达式> } ``` - **连接节点**(JOIN操作) ```sql JOIN <左表别名> INNER JOIN <右表别名> ON <左表字段> = <右表字段> AS <连接别名> ``` - **聚合节点** ```sql AGGREGATION <输入节点别名> GROUP BY <分组字段列表> MEASURES <聚合表达式> AS <聚合别名> ``` 4. **输出定义** ```sql VIEW "<最终视图名称>" AS SELECT -- 指定输出字段 <字段列表>, -- 设置维度/度量属性 "<字段名>" [AS] ATTRIBUTE/MEASURE -- 设置聚合类型(MEASURE必需) WITH DEFAULT <聚合类型> FROM <最终节点别名> ``` **完整示例:** ```sql -- 创建计算视图示例 CALCULATION VIEW "SalesAnalysis" PACKAGE "com.mycompany.sales" AS CALCULATION WITH PARAMETERS ( 'PLACEHOLDER' = ('$$Region$$', 'ALL') ) IMPORT "SALES_DATA"."Orders" AS Orders IMPORT "SALES_DATA"."Products" AS Products Projection_Orders = PROJECTION Orders { OrderID, ProductID, Quantity, SalesDate, ADD 'Year' AS YEAR(SalesDate) } Join_OrdersProducts = JOIN Projection_Orders INNER JOIN Products ON Projection_Orders.ProductID = Products.ProductID Agg_Sales = AGGREGATION Join_OrdersProducts GROUP BY Products.Category, Year MEASURES SUM(Quantity) AS TotalQty VIEW FinalOutput AS SELECT Category ATTRIBUTE, Year ATTRIBUTE, TotalQty MEASURE WITH DEFAULT SUM FROM Agg_Sales WHERE Region = $$Region$$ ``` **关键注意点:** 1. **激活依赖**:所有引用的对象(表/视图)必须已激活 2. **权限要求**:需要`CREATE CALCULATION VIEW`系统权限 3. **调试工具**:建议使用HANA Studio的SQL Console进行语法检查 4. **性能优化**:可添加`DYNAMIC HIERARCHIES`子句支持层次结构 5. **版本控制**:.hdbcalculationview文件需通过HANA项目部署 建议结合HANA的Graphical Calculation View设计器使用,通过图形界面生成基础结构后再转换为脚本进行高级定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值