在 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 中,我们可以:

  1. 原始数据类型(如 JavaScript 中)

  • 整数:2、8、6+4

  • 字符串:"Hello"、"I’m" + "here"

  • 布尔值:true、false、true && false、"a" == "a"、1!=2

  1. BI 特定数据类型:

  • 小部件

  • 维度

  • 成员

  • 过滤器等

没有自动类型转换。

脚本编辑器

SAP Analytics Cloud 脚本编辑器可用于为每个微件编写脚本,创建交互式和高度自定义的故事。

脚本编写提供了几个用于编写代码的选项,用于增强 SAP Analytics Cloud 中的故事。例如,您可以:

  • 在故事中放置 "按钮 "微件,然后为按钮的 onClick 事件分配脚本,

  • 使用统计图的 onSelect 事件向统计图分配脚本,

  • 编写基于其他系统事件(如故事的 onInitialization 事件)的脚本,或者

  • 添加使用 onResultChanged 更改数据时执行 的脚本。

为 Button_2018 打开脚本编辑器。

SAP Analytics Cloud 中的代码完整化和值帮助功能允许:

  • 传统意义上的代码完整化,例如完成本地或全局标识符

  • 通过建议成员函数或类似函数完成语义代码

  • 上下文感知值建议形式的值帮助,例如函数参数数据源的度量

例如,在 SAP Business Warehouse 查询上调用 API 方法时,代码完整化可以建议度量作为代码完整化选项或值以指定过滤器。

要在脚本编辑器中打开代码完整化,请使用键盘快捷键 Crtl + Space

SAP Analytics Cloud 脚本编辑器中的代码完整化。请记住,键盘上最重要的快捷键是 Crtl + 空格。

观看此简短视频,了解有关脚本编辑器、自动语法检查、代码完整化和值帮助的更多信息。

视频:本节含 SAP 官方视频(视频 ID 1_bdvm19w4),需在 learning.sap.com 在线观看。

注释类型

单行多行注释示例。下面提供了两种注释类型的示例。

你可以使用注释来增强脚本。注释可帮助您或其他人创建有关脚本或脚本单个部分的文档。JavaScript 语法提供以下两种注释:

  1. 单行注释

  2. 多行注释

单行注释以 开头//

// 和代码行末尾之间的任何文本都将解释为注释,并且不会作为命令执行。您可以使用它来生成整行作为注释,但您也可以将其添加到现有代码行。

例如:

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 语法: <Widget>.<Method>(<Arguments>);

切换案例

WHILE…

var <variable> = <expression>;

对于/IN...

或者<variable> = <expression>;

SAP Analytics Cloud 可以将提供的 API 和通用 JavaScript 选项用于不同的语句类型。这些报表类型将在本课程的以下课程中详细介绍。