向列表报表添加图表

学习目标

  • 使实体支持聚合,并向列表报表添加图表。

转换聚合

要让图表正常工作,实体集必须支持聚合。SAP Fiori elements 支持转换聚合方法,例如标准聚合和自定义聚合。

使用标准聚合方法的转换聚合

要启用分析能力,必须为实体添加 @Aggregation.ApplySupported 注解。@Analytics.AggregatedProperty 注解的集合必须列出所使用的所有可聚合度量或聚合方法。有关更多信息,请参阅 Transformation Aggregation。有关 CAP 文档中的更多信息,请参阅 Transformations

向 Manage Travels 应用的列表报表添加图表

使用场景

在本练习中,目标是向服务添加聚合能力,以便为列表报表页面添加分析能力,使其成为分析列表页面。

用户将能够看到按客户国家分组的去重旅行总数。用户还可以通过在图表中选择可视化来筛选表。

任务流

首先,你将使用 CDS @Aggregation.ApplySupported 注解增强 Travel 服务,在其中可以定义 GroupablePropertiesAggregatableProperties。服务增强完成后,你就可以使用页面编辑器中的 Add Chart 功能。最后,你可以使用页面编辑器向图表添加 i18n 标签。

前提条件

你必须检出分支 solution/initial-app-state-for-analytics

注意

为了在 Node.js 运行时中启用分析列表页面的所有功能,我们启用了新的 OData 解析器(odata_new_parser: true),它仍处于实验阶段。

如果你将 ALP 与标准 OData 解析器一起使用,则诸如分析表中的分组之类的某些功能不可用。有关更多信息,请参阅 SAP Fiori Analytical List Page for SFlight

观看模拟并执行步骤

本练习包含一个模拟,会引导你完成下面描述的所有步骤。你可以跟着模拟并使用自己的试用账户执行这些步骤。

练习开始练习(SAP 官方交互式练习)

步骤

  1. 在 SAP Business Application Studio 中打开你的 CAP 项目。

  2. 使用 CDS @Aggregation.ApplySupported 注解为 Travel 实体添加注解,以启用服务的分析能力。

  3. 选择 Search Projects

  4. 选择 Go to File

  5. 选择 travel-service.cdstravel-service.cds 文件打开。

  6. 使用以下注解为 Travel 实体添加注解:

annotate TravelService.Travel with @Aggregation.ApplySupported: {
Transformations       : [
'aggregate',
'topcount',
'bottomcount',
'identity',
'concat',
'groupby',
'filter',
'expand',
'search'
],
Rollup                : #None,
PropertyRestrictions  : true,
GroupableProperties   : [
to_Customer_CustomerID,
to_Agency_AgencyID,
TravelStatus_code,
BeginDate,
PassengerCountry,
],
AggregatableProperties: [
{Property: TravelID, }
],
};
  1. 向列表报表添加图表。

  2. Explorer 视图中,选择 *Projects\fiori-elements-v4-cap-advanced\app\travel_processor*

  3. 右键单击 travel_processor

  4. 选择 Show Page Map。出现 Page Map-travel

  5. 选择列表报表页面的编辑图标。出现 TravelList 的页面映射。

  6. 选择 Add Chart。出现 Add Analytical Chart 对话框。

  7. Chart Type 下拉列表中,选择 Column

  8. Dimension 下拉列表中,选择 PassengerCountry

  9. Measure 按钮中,选择 Create new measure

  10. Aggregation Method 下拉列表中,选择 Count Distinct Values

  11. 选择 Add

  12. MeasuresDimensions 定义标签名称。

  13. TravelList 页面映射上,选择 Chart

  14. 在右侧窗格中,在 Title 下输入图表标题 Travels by Customer Country

  15. 选择与图表标题对应的地球图标。

  16. 选择 Apply。图表标题被添加到 i18n.properties 文件中。

  17. Measures 下的 Measure 1Label 中,选择地球图标。

  18. 选择 Apply。现有标签名称被替换为 i18n>Travels

  19. Dimensions 下的 Dimension 1Label 中,选择地球图标。

  20. 添加标签名称 Customer Country

  21. 选择 Apply。维度标签被添加到 i18n.properties 文件中。

注意

你可以通过选择 Default 切换按钮来配置其他维度。

  1. 查看图表,并基于图表对表数据进行分组。

  2. Travels by Customer Country 上,选择一个柱状图。Travels 表上的数据计数会根据所选的柱状图进行细化。

  3. 选择 View By 图标。

  4. 从下拉列表中,选择 Customer

  5. 选择该柱状图。Travels 表将仅显示所选客户的旅行。

结果

你已经成功向 Manage Travels 应用的列表报表添加了图表。

注意

  • 你可以在 GitHub. 上找到本解决方案的文件。

  • 解决方案分支是 solution/add-chart-to-listreport 。

  • 你可以在 GitHub 上查看与上一个分支相比的代码更改。

后续步骤

有关更多信息,请参阅

  • Analytical List Page

  • Configuring Charts