在 SAP Analytics Cloud 脚本编辑器中工作
学习目标
在高级模式下访问并执行脚本编辑器中的基本任务。
脚本语言
SAP Analytics Cloud 使用 JavaScript 的子集通过脚本来增强故事。
为什么使用 JavaScript?
可在浏览器和服务器上执行
学习起来相对简单
功能强大
为什么 SAP Analytics Cloud 使用 JavaScript 的子集?
完整的 JavaScript 相当复杂
JavaScript 不提供类型支持
JavaScript 中的某些构造可能是危险的(例如,无限循环)
SAP Analytics Cloud 可以验证所有脚本
通常,SAP Analytics Cloud 中的脚本与使用 JavaScript 的脚本有何不同?
脚本必须强类型
不提供自动类型转换
由于 SAP Analytics Cloud 中提供的丰富代码完整化功能,JavaScript 子集必须强类型化。如果要使用整数作为字符串,则必须对其进行显式转换。这意味着,一旦你有一个鸭子,它仍然是一个鸭子。强键入的结果是无法预期自动转换。使用强键入时,无法将变量名称回收为新类型。因此,如果需要其他内容,则需要其他变量。
一般来说,使用 JavaScript 提供弱的键入和动态键入:
使用 弱类型 ,脚本编写器可以隐式强制变量充当不同的类型。例如,可以有一个整数值并将其视为字符串:"亲爱的整数,您是字符串"。有关弱键入的详细信息,您可以转到 代码基础
使用 动态键入 ,运行时会尝试在此时从上下文中推测类型。您甚至可以在使用变量后更改类型。例如,您可以将上述整数的值更改为其他类型的对象:"亲爱的整数,您现在是鸭子"。
尽管 SAP Analytics Cloud 使用 作为 JavaScript 的子集作为其脚本语言,但它仍然是 JavaScript。您可以编写有效的 JavaScript,同时将语言视为强类型化和静态类型。
了解在 SAP Analytics Cloud 中禁用了一些更高级的 JavaScript 功能,作为真正的 JavaScript 子集,仍允许在浏览器中本机执行。SAP Analytics Cloud 的 JavaScript 子集中使用的脚本与事件或全局脚本对象相关联,并根据"严格模式"运行和验证。
有关严格模式的详细信息,您可以转到:严格模式 - JavaScript
SAP Analytics Cloud 中的数据类型
所有编程语言都具有数据类型的概念。
在 SAP Analytics Cloud 中,我们可以:
原始数据类型(如 JavaScript 中)
整数:2、8、6+4
字符串:"Hello"、"I’m" + "here"
布尔值:true、false、true && false、"a" == "a"、1!=2
BI 特定数据类型:
小部件
维度
成员
过滤器等
没有自动类型转换。
脚本编辑器
SAP Analytics Cloud 脚本编辑器可用于为每个微件编写脚本,创建交互式和高度自定义的故事。
脚本编写提供了几个用于编写代码的选项,用于增强 SAP Analytics Cloud 中的故事。例如,您可以:
在故事中放置 "按钮 "微件,然后为按钮的 onClick 事件分配脚本,
使用统计图的 onSelect 事件向统计图分配脚本,
编写基于其他系统事件(如故事的 onInitialization 事件)的脚本,或者
添加使用 onResultChanged 更改数据时执行 的脚本。

SAP Analytics Cloud 中的代码完整化和值帮助功能允许:
传统意义上的代码完整化,例如完成本地或全局标识符
通过建议成员函数或类似函数完成语义代码
上下文感知值建议形式的值帮助,例如函数参数数据源的度量
例如,在 SAP Business Warehouse 查询上调用 API 方法时,代码完整化可以建议度量作为代码完整化选项或值以指定过滤器。
要在脚本编辑器中打开代码完整化,请使用键盘快捷键 Crtl + Space。

观看此简短视频,了解有关脚本编辑器、自动语法检查、代码完整化和值帮助的更多信息。
视频:本节含 SAP 官方视频(视频 ID
1_bdvm19w4),需在 learning.sap.com 在线观看。
注释类型

你可以使用注释来增强脚本。注释可帮助您或其他人创建有关脚本或脚本单个部分的文档。JavaScript 语法提供以下两种注释:
单行注释
多行注释
单行注释以 开头//。
// 和代码行末尾之间的任何文本都将解释为注释,并且不会作为命令执行。您可以使用它来生成整行作为注释,但您也可以将其添加到现有代码行。
例如:
var counter = 1; // declare counter and assign value 1
或者
var counter = 1;
// declare counter and assign value 1
多行注释以 开头/*,以 结尾*/。
/* 和 */ 之间的文本被解释为注释,不会作为命令执行。
例如:
var counter = 1;
/* declare counter and
assign value 1 */
语句类型

调用语句 |
条件执行语句 |
循环 |
分配报表 |
|---|---|---|---|
例如,更改统计图的"统计图类型"或为维设置过滤器 |
IF xxx THEN xxx ELSE |
对于… |
定义新变量或为现有变量赋值。 |
Basic 语法: |
切换案例 |
WHILE… |
|
对于/IN... |
或者 |
SAP Analytics Cloud 可以将提供的 API 和通用 JavaScript 选项用于不同的语句类型。这些报表类型将在本课程的以下课程中详细介绍。