Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
YaoYao
Product and Topic Expert
Product and Topic Expert


累计总和,移动总计,滚动总计,累计总和……是的,我们有很多种方式来称呼这种计算:计算某个时间段或维度上的一系列数字的总和。

不管叫什么名字,它总是让我们很头疼:当你要进行某种总和计算时,你好像有很多种计算方法,但似乎永远无法满足你的定制需求。这个计算在商业智能软件中非常频繁的出现,以至于我们可以看到“如何在XX中的计算滚动/累计总计?”

因此,我想写一篇关于在 SAP 分析云中计算“累计和”的不同方法的“累计”博客。

  • 如果它帮助您获得想要的“累计金额”,请给它一个赞!

  • 如果你还是无法得到你的“和”,请在评论中描述你的问题,让我们一起来看看吧!

  • 如果你有其他计算“累计和”的绝妙方法,请在评论中分享,我会持续更新博客!


让我们开始吧!

 

基本上,SAP 分析云中,有两种方法可以将累积计算添加到您的故事中:

  • 在故事Story 中创建实时计算

  • 在建模器Modeler中创建计算,然后在您的故事中使用它


根据您想添加计算的位置和您使用的模型类型,我们下面分类列出您的多种选择:

除非另有说明,否则以下所有操作均在优化的故事体验模式下执行。阅读此博客以了解更多信息。

 

1.故事层面


1.1 从图表创建累积和



  • 您有一个导入的模型并使用 DATE 类型维度作为时间维度

  • 或者你有一个具有“扩展时间维度”的 Live Hana 模型

  • 你想计算跨时间的累计总和,例如 YOY、YTD、PY等


如果是这种情况,您可以单击该度量并使用“添加时间计算”作为快捷方式来创建与时间相关的累计和并直接在图表上显示。




 



这相当于使用每个度量(帐户)的“添加计算”功能在生成器面板中手动创建这个与时间相关的累计和。





 

1.2 从计算或表中创建累积和


添加跨时间累计计算最方便的方法是使用与度量关联的“添加计算”功能。但是,根据您使用的模型类型,存在一些限制。

1.2.1导入模型:添加计算⇒受限账户,与以下项的差



  • 你有一个导入模型

  • 你使用了一个DATE类型的维度作为时间维度来计算跨时间累计和


在这种情况下,只需单击帐户的三个点并使用添加计算来添加 YOY、YTD 和 PY 计算。



 

今年迄今为止:YTD



上一年:PY



YOY:



 

1.2.2导入模型:Resultlookup函数



  • 你有一个导入模型

  • 您希望首先聚合一个维度的度量(例如,获取三年内每季度售出的数量),然后计算滚动总计。


这种情况下,我们会使用“添加计算”功能中的计算账户来完成一系列的计算来实现它。需要一些手动工作。我们将以这个“每季度销售的 3 年总数量的滚动总计”为例。

第 1 步:首先,我们需要总结三年内每季度销售的所有数量。我们首先创建了一个基于日期维度的计算维度:



 

然后使用“RESULTLOOKUP”函数计算每个季度的总和:



 



 

第 2 步:使用 If 语句创建计算账户以计算滚动总计

 





 

1.2.3 导入或实时 Hana 模型:添加计算⇒滚动总计



  • 你有一个导入模型

  • 或者你有一个 Live Hana 模型

  • 你使用了一个DATE类型的维度作为时间维度来计算跨时间累计和

  • 或者您使用 NON-DATE 维度来计算跨时间或者产品的累计和/平均值/计数等


从 2023.01 开始,我们引入了一种名为“滚动总计”的新型功能。此计算允许您创建总计 SUM、COUNT、MIN/MAX 和 AVERAGE。但是请注意,无论使用日期维度还是非日期维度,跨时间计算都不会从新的一年重新开始。滚动总计完全取决于计算中使用的维度和表中显示的数据。




1.2.4 包含“扩展时间维度”的Live Hana模型:添加计算



  • 你有一个 Hana Live 模型

  • 创建实时模型时,您开启了SAP 分析云模型中基于HANA View字符串的时间维度或日期维度,即扩展时间维度


如果您开启了 HANA View视图中基于字符串的时间维度或日期维度,则可以在SAC中使用与时间相关的功能来计算 YOY、PY 和 YTD。请阅读有关如何维护时间维度的帮助:




1.2.5 导入、Live BW、Live Hana 模型:从列添加计算



  • 你有一个导入模型

  • 或 BW Live 模型

  • 或 HANA LIVE 模型

  • 您使用了日期维度或非日期维度来计算累计总和


在这种情况下,您可以使用目标度量列中的“添加计算”来实现多种类型的累加计算。但是请注意,无论您使用日期维度还是非日期维度,跨时间计算都不会从新的一年重新开始。



 

1.2.6 BW 实时模型:有点挑战



  • 你有一个 BW Live 模型

  • 你想计算跨时间累计和


不幸的是,故事中的 BW 实时模型不支持与时间相关的计算。我们建议直接在 BW 中创建计算并令 SAC 来使用这个计算。阅读更多:

https://blogs.sap.com/2020/06/11/analyse-your-data-live-with-sap-analytics-cloud-on-sap-bw-on-hana-s... 3/

 

2.模型层面


2.1导入模型:模型中的LOOKUP函数



  • 你有一个导入的模型

  • 你有一个日期维度,想计算跨时间累计和


建模器中的公式可以为用户提供进行复杂计算的广泛能力。借助“LOOKUP”功能,可以轻松计算出“上一年/X月/X日”。配合“First、Last、Previous、Next、Current”等动态时间导航功能,可以实现自定义时间窗口的累加。

下面显示了使用 LOOKUP 计算前 12 个月的滚动总计的示例。





 

2.2导入模型:模型中的YOY函数



  • 你有一个导入的模型

  • 你有一个日期维度,想计算 YOY


YOY 是一个经常使用的函数,SAP 分析云提供了便捷的YOY 函数,您直接在建模器的公式中使用YOY函数,在一秒内生成YOY结果。



 

2.3导入模型:模型中的ITERATE函数



  • 你有一个导入的模型

  • 您有日期或非日期维度

  • 您想计算滚动计算,例如滚动总和,滚动增长等


SAP 分析云 最近发布了建模器中的新公式公式 ITERATE。它旨在创建滚动计算。借助 Prior 函数,您还可以检索为前一个成员计算的值。

在此示例中,我们有一个日期维度,我们使用 ITERATE 来计算 AMOUNT 度量的滚动总和,它以年为单位进行拆分。我们还将此 ITERATE 函数与反向公式结合使用,从而允许在计划过程中进行反向填充。ITERATE 可以在没有 INVERSE 函数的情况下使用。



如果您想使用非日期维度来计算滚动总和,例如所有国家/地区的滚动总和,也可以使用 ITERATE 来实现。



 

2.4 Live Hana或者BW 模型:有点挑战



  • 你有一个 Live Hana或者BW 模型

  • 您想在建模器中创建累积度量


遗憾的是,动态时间导航功能(上一期、当前等)、YOY 功能和 ITERATE 功能不适用于 Live Hana 和 BW 模型。我们建议在 Hana 或 BW 中,而不是SAC中创建这些计算密集型 KPI,并使用 SAC 来简单地使用它们。

 

结论:


到目前为止,我们已经总结了几种在 故事Story 和 建模器Modeler 中创建累积计算的方法。

您在 SAP 分析云中创建累积计算的方式是什么?在评论中分享你的秘密武器,我会将内容更新至文章。

 

未来阅读:


高级公式——它们是如何工作的: https ://blogs.sap.com/2021/05/03/advanced-formulas-how-they-work/
2 Comments