使用附加数据加载设置和功能

学习目标

  • 描述故事的其他数据加载设置和功能如何影响性能。

始终初始化功能

如果将"视口加载"或"后台加载"设置为故事的"加载优化设置",则可以使用"始终在启动时初始化"功能影响故事的性能。

如果在微件的"样式设置"面板中将微件操作设置为"始终在启动时初始化",则作为初始渲染阶段的一部分,该微件将使用所有可见微件进行初始化。在处理脚本时和完成后台加载之前访问微件的情况下,这可能会提高性能。

SAP Analytics Cloud

限制

如果对嵌入在容器中的微件使用此功能,请确保容器本身在运行时可见,或者已为容器启用*"始终在启动时初始化"*。

SAP Analytics Cloud 故事,其中选择了选项卡条中的微件。在“样式设置”面板中选择“始终在启动时初始化”后,将出现一条警告,指示容器也必须设置为“始终在启动时初始化”。

"始终在启动时初始化"不适用于弹出窗口中的微件。要使用此选项,请将微件从弹出窗口移动到画布。

如果该微件用作数据池,并且在运行时始终不可见,则最佳实践是将此微件直接放在画布上,而不是将其嵌入容器中。

查询定义和模型元数据缓存

保存故事后,将为所有用户公开缓存其第一页查询定义(含所需模型元数据)。这样可以避免额外的往返请求(例如加载模型元数据),从而提高初始加载性能。

当用户打开故事时,会检查现有公共缓存是否有效。更改相关模型(包括计划模型中的版本更改)时,缓存将变为无效。如果公共缓存有效,则将使用缓存。如果不是,将发出单独的请求以获取当前元数据。然后,此新获取的元数据将替换旧缓存。

缓存不能用于具有脚本事件所引用数据源的微件。

阻止使用高速缓存的脚本示例:

  • Chart.getDataSource().setDimensionFilter() 或者

  • Chart.getDataSource().getResultset()

本课末尾的附录中提供了阻止使用缓存的 API 的完整列表。

书签缓存

使用书签时,存在额外的公共缓存对象,用于存储查询定义和模型元数据。

对于初始故事创建(首次保存故事),以下逻辑适用:

  • 如果书签范围配置为" 仅状态更改的部件 "(默认选项)或 "故事中的所有部件 ",则在保存故事时创建缓存。

  • 如果将书签范围配置为 仅所选组件 ,则会在第一个用户查看故事时创建缓存。

对于现有故事的任何更改(重新保存故事),以下逻辑适用:

  • 任何现有书签缓存都将被移除。

  • 第一个用户查看故事时,将生成公共缓存。

使用 bookmarkset.apply() 脚本 API 加载书签不会使用或生成书签缓存。

在左侧面板中选择了书签的 SAP Analytics Cloud 故事。如上所述,书签选项在右侧面板中突出显示。

附录

阻止系统使用查询定义和元数据缓存的图表相关 API

阻止系统使用查询定义和元数据缓存的表相关 API

addDimension``addMeasure``addMember``collapseNode``copyDimensionFilterFrom``copyVariableValueFrom``expandNode``getDataSource``getDimensions``getHierarchies``getHierarchy``getHierarchyLevel``getMeasures``getMember``getMembers``getMemberDisplayMode``rankBy``refreshData``removeDimension``removeDimensionFilter``removeMember``removeRanking``removeSorting``removeVariableValue``setBreakGroupingEnabled``setDimensionFilter``setHierarchy``setHierarchyLevel``setVariableValue``sortByMember``sortByValue``setMemberDisplayMode

addDimensionToColumns``addDimensionToRows``collapseNode``copyVariableValueFrom``copyDimensionFilterFrom``expandNode``getActiveDimensionProperties``getDataSource``getDimensions``getDimensionProperties``getDimensionsOnColumns``getDimensionsOnRows``getHierarchies``getHierarchy``getHierarchyLevel``getInfo``getMeasures``getMember``getMemberDisplayMode``getMembers``getNumberFormat``getPlanning``isCompactDisplayEnabled``isZeroSuppressionEnabled``openNavigationPanel``rankBy``removeDimension``removeDimensionFilter``removeRanking``removeSorting``removeVariableValue``setActiveDimensionProperties``setBreakGroupingEnabled``setCompactDisplayEnabled``setDimensionFilter``setHierarchy``setHierarchyLevel``setMemberDisplayMode``setVariableValue``setZeroSuppressionEnabled``sortByMember``sortByValue

查询设置

缺省设置

"查询设置"中的默认值设计为最适合大多数 SAP Analytics Cloud 故事。因此,我们建议保留缺省值,如下所示。

已选择“查询设置”的 SAP Analytics Cloud 故事首选项菜单。查询设置对话框在屏幕上打开,显示批处理设置和缓存设置。

批处理设置

批处理设置仅与以下数据源相关:

  • SAP Analytics Cloud 导入模型

  • SAP Datasphere 实时模型

  • SAP HANA 实时模型

如果要从其他连接访问数据,则与此设置无关。

批处理设置部分,可以使用以下选项:

  • 启用查询批处理

  • 启用查询合并

您可以启用两个选项之一或禁用这两个选项。

选择启用查询批处理后,针对同一模型的各种查询将合并为一个由单个分析对象组成的批次,并作为单个 HTTP 请求一起发送。在服务器上,使用线程将分析调用作为隔离查询进行处理。

根据源系统中的特定设置,例如每个请求已分配资源数量的限制,您可以考虑减少每批次查询数的上限。

当结果集具有不同的度量但维/向下钻取级别相同时,选择启用查询合并会合并同一模型的请求。在启用此设置的情况下保存故事时,包含可以合并的查询的微件会以相同的颜色着色,以便你查看可以合并的内容。如果你拥有大量具有匹配结果集并同时使用数据渲染的微件,此设置只能对数据加载性能产生积极影响。

缓存设置

此设置中引用的高速缓存是为每个用户和每个会话创建的高速缓存。

当用户打开故事并在故事页面中导航时,最多会在浏览器中本地缓存 10 个页面及其微件。系统默认值为 150,但可以在*"系统*→""管理"中更改。当用户导航回他们已查看并在缓存中可用的页面时,将使用此缓存,这意味着页面打开速度更快。如果启用了"覆盖高速缓存限制",则会高速缓存更多微件。但是,由于这会使用更多的浏览器内存,因此它可以通过减慢其速度来影响用户与故事的交互。

例如,与数据加载优化设置相比,此设置的目的是加快故事的初始开始时间。此设置仅以故事页面导航性能为目标,而不是故事的初始加载时间。