SACP21_
SACP21_
.
.
PARTICIPANT HANDBOOK
INSTRUCTOR-LED TRAINING
.
Course Version: 41
Course Duration: 4 Days
SAP Copyrights, Trademarks and
Disclaimers
No part of this publication may be reproduced or transmitted in any form or for any purpose without the
express permission of SAP SE or an SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are
trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other
countries. Please see https://www.sap.com/corporate/en/legal/copyright.html for additional
trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software
components of other software vendors.
National product specifications may vary.
These materials may have been machine translated and may contain grammatical errors or
inaccuracies.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only,
without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be liable
for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate
company products and services are those that are set forth in the express warranty statements
accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business
outlined in this document or any related presentation, or to develop or release any functionality
mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’
strategy and possible future developments, products, and/or platform directions and functionality are
all subject to change and may be changed by SAP SE or its affiliated companies at any time for any
reason without notice. The information in this document is not a commitment, promise, or legal
obligation to deliver any material, code, or functionality. All forward-looking statements are subject to
various risks and uncertainties that could cause actual results to differ materially from expectations.
Readers are cautioned not to place undue reliance on these forward-looking statements, which speak
only as of their dates, and they should not be relied upon in making purchasing decisions.
Demonstration
Procedure
Warning or Caution
Hint
Facilitated Discussion
TARGET AUDIENCE
This course is intended for the following audiences:
● Application Consultant
● Technology Consultant
● Industry / Business Analyst Consultant
● Business User
● Business Analyst
Lesson 1
Exploring the SAP Analytics Cloud Planning Process 3
Lesson 2
Planning Using SAP Analytics Cloud 9
UNIT OBJECTIVES
● Describe the process phases and planning-related topics of SAP Analytics Cloud.
● Access the different planning options available for SAP Analytics Cloud planning users.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Describe the process phases and planning-related topics of SAP Analytics Cloud.
You will work to develop planned income statements by region, line of business, and legal
entity for the companies of ABC Corporation.
You will configure planning models, data actions, allocations, and stories that will be used to
perform planning activities. These activities include manual input planning, version
management, planning simulations, allocations, copying data, calculating labor and benefits,
translating currencies, validating data input, forecasting sales values, and scheduling jobs.
● As the planning activities are carried out, the planners need to work on their own private
data before they're ready to publish it for others to see.
● The planners must be able to undo and redo their data changes as they perform what-if
analyses.
● Manual input planning is required along with automated data actions.
● The planners need an efficient and flexible way to plan by base member.
● The planners need to perform planning disaggregation by parent node.
● Simulating the impact of growth rates and other drivers on the income statement is
essential.
● The income statement data will be forecast based on historical trends and cycles.
● Some data actions will be scheduled in the calendar.
● ABC Corporation needs a mechanism to coordinate and monitor the planning process in
the calendar that is performed by each regional planner. Planning milestones must be
submitted and then approved.
● After plan data is approved in all regions, it must be locked to prevent any further changes.
Then, the results can be published.
Prepare
Planning modelers do most of their work in the preparation phase. After the initial setup of the
solution, they can update and enhance it during later cycles.
The work performed in the prepare phase is done at the start of a project.
1. In the prepare phase, our team will use SAP Analytics Cloud to create and populate our
planning models and dimensions. The main business requirement in implementing SAP
Analytics Cloud planning is to create planned income statements by line of business,
region, and legal entity.
2. We'll then add planning functionality related to the model, creating planning objects such
as data actions and multi actions, setting up validation rules and allocation processes, as
well configuring data locking.
3. As planners, we’ll spend most of our time in stories, inputting data, performing
simulations, and running data and multi actions.
4. To collaborate as a team, we'll use the SAP Analytics Cloud calendar to schedule and track
the status of processes such as data actions and multi actions.
Plan
Planning reporters input data into the plan and share their work with viewers. There are often
iterative changes in this part of the process as planners and stakeholders at different levels
and in different departments collaborate on the plan.
1. Once we've set up and completed the prep work, we move on to the Planning Phase. We
use SAP Analytics Cloud to create the forecast for ABC Corporation. To create the
forecast, we'll start by creating our own private versions.
3. We can collaborate using the comment and discussion tools, analyzing the data and,
where required, update the plan. Iterations of the planning cycle are easily handled with
multiple versions. Historical data is used as the basis for predictive forecasts that our
team can use to seasonalize the forecast values. To adjust the data, we can use built-in
features like mass data entry, disaggregation, and relative values for efficient manual
planning.
Finalize
When the planning process nears completion, the results need to be reviewed with decision-
makers and data needs to be published. Data locks prevent changes to approved data.
1. In the Finalize Phase, our team monitors the planning process from the calendar.
2. At ABC Corporation, we'll set up a planning process with tasks by region that will be used
for status and tracking, collaboration, and automating activities. Planners will use the
calendar to launch stories, perform planning tasks, and submit their results for approval.
5. The planning model data can be exported to other SAP source systems such as SAP S/
4HANA.
Topic Description
Connections You can:
● Connect SAP Analytics Cloud to on-premise data sources.
● Connect SAP Analytics Cloud to your cloud data sources.
Dimensions ● Dimensions represent master data such as cost center, profit center,
product, and account.
● Dimensions contain members, descriptions, properties, and hierar-
chies.
● Base members don't have children while parent nodes in a hierarchy
do have children.
● Public dimensions are shareable across multiple models while private
dimensions are model-specific.
Planning models ● Planning models contain dimensions that are intended for unique
types of planning such as sales, cost center accounting, human re-
sources.
● New type planning models require at least one measure such as local
currency amount, but they could easily have several measures such as
local currency amount, group currency amount, and quantity.
● New type planning models will typically contain an account dimension
even though it isn't technically required. Accounts in a planning model
can represent general ledger accounts in an ERP system such as
411100 Revenue, 422000 Cost of Goods, and 799000 Annual Net In-
come. Accounts such as 911000 Number of People, 912000 Kilowatt
Hours, and 913000 Labor Activity Price are also common.
● When a new type planning model is created, the system automatically
generates a version and date dimension specific to the model.
● Date dimension: The (flexible) date dimension can be configured to
represent calendar months or fiscal periods. Daily, weekly, monthly/
period, quarterly, and annual planning levels of granularity are sup-
ported.
● Version dimension: The version dimension is used to separate actual
vs. plan data in the model.
High-level workflow: Import actual data into a planning model, copy data
from the actual version into a plan version, perform planning stories, ap-
prove, and publish the results.
Topic Description
Data imports ● Dimensional data can be imported from files or various source sys-
tems.
● Transaction data can be imported from files or various source sys-
tems into planning models.
LESSON SUMMARY
You should now be able to:
● Describe the process phases and planning-related topics of SAP Analytics Cloud.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Access the different planning options available for SAP Analytics Cloud planning users.
In planning stories, you can use comments and discussions to collaborate with teammates.
If you add a table in a story for planning, then extra planning tools are available for you to use.
Note:
● Remember, your screen resolution and zoom affects where items are located
in the SAP Analytics Cloud toolbar. In the previous example, Version
Management appears in the … More menu option, however, with a higher
resolution it appears in the toolbar at the top of the screen.
● Reasons for Unplannable Data: When you hover over a cell that is secure or
locked, for example, the tooltip appears on the upper right with the
explanation.
You can also use stories created for you. In the following example, you can see the Rapid
Financial Planning and Analysis for SAP S/4HANA story landing page. This is an example of
the prebuilt content available in the SAP Analytics Cloud Content Network that administrators
can access. These stories can be customized, depending on business requirements.
SAP Analytics Cloud extended planning stories are covered in more detail in the Designing
Extended Planning Stories in SAP Analytics Cloud learning journey.
SAP Analytics Cloud, add-In for Microsoft Excel is covered in more detail in the Creating and
Working with Microsoft Excel Workbooks Using the SAP Analytics Cloud, Add-in for Microsoft
Excel learning journey.
Analytics Cloud. It consists of plug-ins for Analysis and Enterprise Performance Management
(EPM). These Microsoft Excel files are maintained by the business users.
The SAP Analysis for Microsoft Office add-in is covered in more detail in the Discovering SAP
Analysis for Microsoft Office learning journey.
Note:
While SAP Analysis for Microsoft Office can also be used to plan on SAP Analytics
Cloud data, all future development regarding SAP Analytics Cloud will be on the
SAP Analytics Cloud, add-in for Microsoft Excel.
LESSON SUMMARY
You should now be able to:
● Access the different planning options available for SAP Analytics Cloud planning users.
Learning Assessment
X A Dimensions represent transaction data such as cost center, profit center, product,
and account.
X C Base members don't have children while parent nodes in a hierarchy do have
children.
X D Public dimensions are shareable across multiple models while private dimensions
are model-specific.
2. In SAP Analytics Cloud planning you can use stories, SAP Analytics Cloud, add-in for
Microsoft Excel and SAP Analysis for Microsoft Office to perform planning.
Determine whether this statement is true or false.
X True
X False
X A Planning stories are created by users and are based on analytic models.
X C Extra planning tools are available for you to use when you add a table to your story.
X A Dimensions represent transaction data such as cost center, profit center, product,
and account.
X C Base members don't have children while parent nodes in a hierarchy do have
children.
X D Public dimensions are shareable across multiple models while private dimensions
are model-specific.
Dimensions represent master data such as cost center, profit center, product, and
account.
2. In SAP Analytics Cloud planning you can use stories, SAP Analytics Cloud, add-in for
Microsoft Excel and SAP Analysis for Microsoft Office to perform planning.
Determine whether this statement is true or false.
X True
X False
SAP Analytics Cloud stories, the SAP Analytics Cloud, add-in for Microsoft Excel and SAP
Analysis for Office can both be used to perform planning activities.
X A Planning stories are created by users and are based on analytic models.
X C Extra planning tools are available for you to use when you add a table to your story.
Planning stories are created by users and are based on planning models. Analytic models
are used for reporting activities.
Lesson 1
Creating and Managing Versions 19
Lesson 2
Viewing Version Data from the Planning Model 25
Lesson 3
Adding New Dimension Members from Data Tables 27
Lesson 4
Performing Manual Planning 31
Lesson 5
Using Mass and Fluid Data Entry When Planning in Data Tables 39
Lesson 6
Planning Using Inverse Dimension Formulas 43
Lesson 7
Planning on Multiple Hierarchies and Distributing Data with Planning Panels 47
Lesson 8
Using Seamless Planning with SAP Datasphere 53
UNIT OBJECTIVES
● Disaggregate planning data, lock cells, and set cells in a table to read only.
● Perform mass and fluid data entry in a data table.
● Use inverse dimension formulas.
● Plan on multiple hierarchies.
● Distribute data with planning panels.
● Use seamless planning with SAP Datasphere.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create, maintain, and publish versions from stories.
Versions
A Version is a dimension in a planning model.
When planning models are created, the Actual version is provided as a system default.
Additional versions are created while planning in stories.
When using planning models in SAP Analytics Cloud, versions are used to organize, compare,
and maintain actual, plan, and forecast data.
You only need one version for historical (actual) data. But, when planning for the future,
organizations can create plan iterations for a variety of reasons. These plans can each use a
different version of the data. When working with versions, you can change data in one version
without impacting the data in other versions.
Version Management
Version Management lets you manage different versions and types of plans. For example,
your organization can create a new version for each new forecast period. You can separate
your forecasts from other types of plans like budgets and strategic plans.
Private Versions
Private versions are maintained in a story and are only visible to the creator of the version.
You can use private versions to change or simulate plan values without making the changes
visible to anyone else.
● You can make a private version a new public version by using the Publish As option.
● When you use the Publish private data option, it writes to the public version where it was
copied from initially.
● Private versions can be shared with other users, if needed.
● When you edit private data, the data is automatically saved.
Note:
You can view your own private data from the planning model. When private data is
changed, you don't need to save it or publish it.
Public Versions
Public versions are also maintained in stories. It’s published so that other planners can see
the data.
● There can be only one public Actual version in a planning model.
● Access to public version data is controlled by data privileges.
● If you leave a story without publishing data changes, you’re prompted either to Revert all
or Publish all changes. If you leave a story without reverting or publishing, the data will be
retained (in edit mode) when you return to the story, but it won't be published.
In the Version Management panel below, you can see several display, creation, and publishing
options highlighted.
1. The Show versions in use only toggle allows you to show or hide versions that aren’t
included in the associated table filter.
2. Add a new public version without any data by selecting the Create Blank Public Version
icon.
4. Choose Publish to update the database with unpublished data. Any data in Edit Mode
remains unpublished.
5. Add a new private version without any data by selecting the Create Blank Private Version
icon.
6. In Private Versions, the Publish button provides two options in a drop-down menu:
Note:
To share a private version, go to Version Management → Private Versions → …
(More) → Share. Select either Read Only or Read and Write.
1. Start Edit Mode: Create a temporary private version that only you can see until the
changes are published.
2. Undo / Redo Data Change: Undo or redo the last data change.
Version Categories
The type of planning activity in a version is described by its version category. Meaning, a
version related to actual data is assigned to the Actual category and a version related to
forecast data is assigned to the Forecast category.
There are five built-in version categories:
3. Planning: The goal (financial or non-financial) that you're trying to achieve next year or the
next three years.
4. Forecast: Your expectation for a specific timeframe in the future. This typically focuses on
major revenue and expense items and is updated every month or quarter.
5. Rolling Forecast: Similar to forecast, except it usually includes a few months of actual data
followed by a continuous 12-18 months of forecast data.
Note:
Publish Versions
Caution:
Once data is published, it can't be undone.
When you enter data for a public version and you're ready to publish, you can do so from the
story ribbon as follows:
● In View mode, choose the dropdown next to Publish Data in the ribbon and select
Advanced → Publish All.
● In Edit mode, select Publish Data from the ribbon.
Remember, the menu options vary depending on your device type and screen resolution.
The Publish Data option may appear as in the following example or in a More option.
Note:
Publishing when using data actions and multi actions: When using data actions,
public data can be published when the data action runs. When using multi actions,
public data can be published in a separate process step. Data actions and multi
actions are covered later in this course.
LESSON SUMMARY
You should now be able to:
● Create, maintain, and publish versions from stories.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Manage versions from planning models.
Version Dimensions
Access the Version Dimension from a Planning Model
In the Version dimension, Category is a property that is used to describe the type of planning
activity. You can access the version dimension from the Model Structure workspace of the
planning model, as you can see in the following example.
In the preceding example, you can see the public.actual version, which is automatically
created by the system when a planning model is created. Other versions can be created from
stories.
Note:
Importing Data
● Data can only be imported into a public version of a planning model.
● During the import, the default version is actual but it can be changed to any
other existing public version.
● Public versions can't be created during the import process for new model
types.
Figure 19: View Versions from the Planning Model Data Foundation
Note:
Administrators can delete all private data from model preferences.
LESSON SUMMARY
You should now be able to:
● Manage versions from planning models.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Add new dimension members from data tables.
You enter in the new member into the new blank row. In the following example, you can see
that Sweatshirts is added.
An input help allows you to access a dialog to select the Parent Node and input the Description
and ID. You can choose to define the new member as a child or sibling of existing members.
Note:
If the dimension has properties, you can input existing or new property values as
well.
Unbooked Data
When you create a new member, it won't have any data. A member with no data is referred to
as Unbooked and is displayed as a dash - in the table cell.
Unbooked data isn't visible unless the Unbooked Data setting for the table is turned on. To
add new members more quickly, the Unbooked Data setting is turned off by default. However,
if you create a new member on an inner dimension, then Unbooked Data is turned on
automatically for that member.
Note:
Master Data: At an enterprise level, you must decide where master data is to be
maintained. In general, a corporate repository (master data governance)
approach is taken. However, in some cases, adding new dimension members while
planning in a story is feasible, for example, it is feasible when planning for a
consumer products company to add new products as and when needed.
LESSON SUMMARY
You should now be able to:
● Add new dimension members from data tables.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Perform simple data entry and work with planning data in tables.
● Disaggregate planning data, lock cells, and set cells in a table to read only.
Data Entry
Data entry is key to planning functionality. SAP Analytics Cloud's planning functionality makes
it easy to enter data, perform calculations on that data, and write it back to your database.
In the following example, you can see some of the key data entry features in SAP Analytics
Cloud:
● Adjust plan by +/-, %, or absolute value.
● Shortcut scaling characters to simplify input.
● Automatic highlights of impacted and related cells.
● Messages with number of records changed.
Data Scaling
Data tables in stories are automatically scaled to thousands or millions, depending on the
data. The scaling factor is displayed on the upper left of the data table. When you enter
numeric values, for example 10 as in the following example, the system automatically displays
the scaling factor in the cell.
It is also possible to set scaling for a table in the data region styles.
Values
You can type an absolute value in a cell or type a relative value such as *2 or +500 to perform
simple mathematical calculations on existing data. For example, if the data value in a cell is
100, and you type *2 in the cell, the value will change to 200.
You can also include the scale when typing a value. For example, if you want to enter the value
1,000,000, you can simply type 1M, and SAP Analytics Cloud will interpret that entry as
1,000,000.
Hint:
You can also copy and paste values from a source such as Microsoft Excel or a
flat file to develop your dataset.
Disaggregation
When data is entered for a parent member, the system automatically disaggregates the
parent data to the children, either equally or in proportion to existing values. This saves you
time as you don't have to enter data for every base member.
Disaggregation can be controlled as follows:
● Filter the data table so that input cells only represent base members.
● You can control disaggregation by enabling Data Disaggregation - Data Locking and / or
Data Disaggregation - Validation Rules in the planning model and also in the data table.
Note:
Key Terminology
There are several terms that relate to disaggregation, such as allocation and distribution. In
this context, we're using these definitions:
● Disaggregation: The system automatically assigns values entered for a parent to its
children equally, or proportionally, based on the existing values.
● Allocation: This is based on explicit instructions in an allocation process.
Disaggregation Example
In the following Disaggregation example, discounts are disaggregated:
1. Existing discounts: The children of the Discounts account in Feb (2025) contain existing
values that total .8m. In Mar (2025) no values are posted for Discounts.
2. New discounts: Values of 1m for Discounts in Feb (2025) and in Mar (2025) are entered.
3. Discounts disaggregated:
● The delta of .2m is spread proportionally to Pricing Adjustments and Sale Allowances.
Since every dimension in the model is restricted to base members in the table filter,
only two records are updated.
● The 1m entered for Discounts in Mar (2025) is disaggregated equally to the four
children accounts because they don’t contain any data.
Note:
In the preceding disaggregation example, if a dimension such as product isn't
restricted in the table filter, then a new value will be disaggregated proportionally
to all products that contain posted values.
Unbooked Cells
If you enter a value in an unbooked cell, then the following rules are used to determine how to
disaggregate the value along each dimension:
● If the unassigned member (#) is available as a leaf member of the source cell, then this
member receives the same value as the source cell and other members of the dimension
remain unbooked.
● The unassigned member may not be available and in these cases, the value is spread to
base members based on the dimension's aggregation type. Some reasons why the
unassigned member may not be available:
- It's filtered out of the table.
- It doesn't aggregate up to the source cell.
- It doesn't exist for dimensions such as Time and Account. In these cases, the value is
spread to base members based on the dimension’s aggregation type.
Additional Information
Visit the SAP Help Portal to find additional information about the disaggregation of values
during data entry
You set locks individually in the table by right-clicking a cell and choosing Lock Cell.
You set locks on multiple cells by using the Value Lock Management panel. The Value Lock
Management panel can be accessed from the main toolbar in the ...More option.
Set Locks
In the following example, five key elements for cell locking are highlighted:
1. Lock a cell: Right-click on a specific cell and lock it. This prevents data entry and
disaggregation won't update the cell.
2. View all locks: View existing locks and their priority in Value Lock Order.
Rearrange Locks
To change a lock's priority, you can rearrange locks in the Value Lock Management panel. In
the Value Lock Order, you can drag a lock to change the priority. After you move one lock,
priority values appear for all locks in the list with their specific priority.
When you lock a table cell, the value in that cell won't be updated when you change the data.
By default, data entry processes have lower priority than cell locks. If you want to give data
entry processes higher priority, you can change the order of the locks.
Once applied, the selected cells are grayed out and data entry isn't possible.
When you save the story, the Set/unset read only for selected cells setting is retained.
Note:
If you want to prevent data entry on only a few cells, use cell locks from the Value
Lock Management panel. This panel only applies to Cell Locks.
LESSON SUMMARY
You should now be able to:
● Perform simple data entry and work with planning data in tables.
● Disaggregate planning data, lock cells, and set cells in a table to read only.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Perform mass and fluid data entry in a data table.
1. Switch to Mass Data Entry using the table's More Actions menu.
3. Select Process Data to apply the changes and exit or select Exit Mass Data Entry to leave
without applying changes.
batch is processed. The next data value you enter is treated as the first one of a new fluid data
entry batch.
SAP Analytics Cloud administrators can set or change the time interval for fluid data entry
batches by going to System → Administration → System Configuration and updating the value
for Time interval of fluid data entry batches (in milliseconds).
LESSON SUMMARY
You should now be able to:
● Perform mass and fluid data entry in a data table.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use inverse dimension formulas.
Note:
You can also input data for an account that is a percent type. For example, profit
%.
Character Description
| A vertical bar (pipe) marks the end of the base formula and the be-
ginning of one or more inverse functions.
:= You must add a colon before the equal sign when defining an inverse
function.
In some cases, it may not be possible to change the value for cost. For example, if a cell lock is
applied to cost, or values are entered for cost and profit simultaneously. To allow data entry in
these cases, you can define a secondary inverse formula that assigns value to revenue:
[Revenue] – [Cost] | INVERSE([Cost] := [Revenue] – [Profit]) OR
INVERSE([Revenue] := [Profit] + [Cost])
When the first inverse formula can't be applied, the data entry can be carried out using the
secondary formula. As a result, the revenue value is adjusted.
Additional Information
Visit the SAP Help Portal for more information: Inverse Formulas
LESSON SUMMARY
You should now be able to:
● Use inverse dimension formulas.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Plan on multiple hierarchies.
● Distribute data with planning panels.
5. The store planners input data by store, in Mass Data Entry Mode.
1. The Large Store Consolidated store group is set to $1000 using Mass Data Entry Mode
and the cell is locked.
3. The store planner can’t budget any more than $1000. If they add $5 to Store 17, then
Stores 12-16 update to $199.
Additional Information
Visit the SAP Help Portal for more detailed information: Entering Values with Multiple
Hierarchies
Planning Panel
You can use the Planning Panel to move values in a table and perform distributions. The panel
can help if you’re working on a task that’s too complex for basic data entry, but doesn’t need a
structured data action or allocation process.
For example, you have an unassigned overhead cost that you want to spread to a few different
cost centers. Or you need to redistribute sales volumes among different regions without
changing the total. These tasks are difficult with basic spreadsheet applications, but you can
handle them quickly using the Planning Panel.
You can also interact with the table while the Planning Panel is open. You can collapse or
expand dimension members, set the drill level of a dimension, show or hide unbooked
members, and show or hide rows and columns.
Here's an example of how to use the Planning Panel. For the 2023 hierarchy node, the planner
wants to distribute 1,200,000 to each month equally.
Steps:
5. Choose Overwrite.
7. Choose Apply.
Basic Operations
There are two basic operations:
● Distribute a source value to one or more target cells.
● Redistribute the values of a group of cells.
Options, such as custom source values and different driver types, let you carry out more
scenarios with the planning panel. You can also allocate multiple dimensions in one step, and
pick target cells from different hierarchy levels.
Driver
Use the Driver options to choose how to set the cell values:
● Input Values: Add the exact target values, either in the table or in the panel.
● Equally: Divide the source value equally among the cells.
● Input Weights: Set proportional weights for each cell. For example, if you want to get
weights from a different time period, you could copy and paste those values from the
table.
● Proportionally: Use the existing proportions between the cells. This option requires
existing booked values.
Year-To-Date Variance
The Planning Panel can be used to adjust your revised annual budget. For example, if your
travel expenses are higher than budgeted, you can assign the variance to the upcoming
forecast periods. This way, you’ll set new targets that reduce your costs enough to meet the
budget for the year.
In the following example, the year-to-date variance is 17,543,670. In the Planning Panel, you
enter -17,543,670 and choose Append. The forecast for July to December is reduced. The
YTD expense variance is distributed to the remaining months so that no over-runs occur by
the end of the year.
LESSON SUMMARY
You should now be able to:
● Plan on multiple hierarchies.
● Distribute data with planning panels.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use seamless planning with SAP Datasphere.
Note:
Connecting SAP Analytics Cloud and SAP Datasphere for seamless planning is
available as a controlled release with SAP Analytics Cloud QRC4 2024.
You can opt for SAP Datasphere as a data storage location when creating new models and
dimensions, or when importing content from the Content Network in SAP Analytics Cloud.
While SAP Datasphere acts as the processing layer, SAP Analytics Cloud continues to define
the model structure, own the model’s metadata, define calculations, planning processes, and
so on. Direct write access to the planning fact table in SAP Datasphere is not possible as SAP
Analytics Cloud objects are read-only in SAP Datasphere.
To model your data and create stories, you must start off with an SAP Datasphere space.
Spaces are created by administrators and are virtual work environments with their own
databases, enabling you to collaborate without being concerned about sharing your data.
Benefits
With seamless planning, there is:
● Reduced data redundancy.
● Enhanced flexibility to perform live reporting across SAP Analytics Cloud and other data
sources based on joint SAP Datasphere analytic models.
● Extensibility of SAP Analytics Cloud planning using SAP Datasphere capabilities such as
data operations using SQL editor.
Requirements
All SAP Analytics Cloud planning features are available for seamless planning models,
including SAP Analytics Cloud predictive scenarios, however, there are some requirements.
To use seamless planning:
● SAP Analytics Cloud has to run on HANA Cloud.
● SAP Analytics Cloud and SAP Datasphere tenants have to be linked for seamless planning
in a 1:1 relationship by the system owner. Linking will enable the selection of SAP
Datasphere spaces as the data storage location for the supported object types.
● One SAP Analytics Cloud tenant can be linked with only one SAP Datasphere tenant.
● You need to own licenses for both SAP Analytics Cloud and SAP Datasphere. In the
seamless planning scenario, you would license the planning functionality via SAP Analytics
Cloud users and license the hardware (storage, memory, compute) required for planning
via SAP Datasphere capacity units.
Note:
2. In the Data Storage Location dialog, select SAP Datasphere. From the dropdown menu,
select your SAP Datasphere space. Select Next. If you select SAP Analytics Cloud, then
you cannot use seamless planning.
3. In the Select a data source dialog, select File (Local File or File Server).
4. In the Create Model from File dialog, use the Select Source File button, navigate to the file
and select it. Once you select it, select Import.
Figure 46: Create a Model From a File Using an SAP Datasphere Space as the Data Storage Location
2. Select Edit.
3. In the SAP Datasphere Fact Table dialog, name the fact table. Select OK.
SAP Analytics Cloud models expose the underlying data foundation as a Local Table (Fact),
while the public dimension tables expose the master data as a Local Table (Dimension)
associated with a translation table (storing the multi-language descriptions) and, in the
future, hierarchy tables.
Once a model is exposed, SAP Datasphere can use SAP Analytics Cloud-exposed objects in
graphical views, SQL views, analytic models, transformation flows, for example. However,
remember that SAP Analytics Cloud objects appear in read-only mode in SAP Datasphere,
meaning that SAP Datasphere modelers cannot make structural changes to these objects.
When you open the fact table and select Data Viewer, you can view the model data. Since the
model was exposed in read-only mode, you cannot change the structure from the Data
Builder. Nevertheless, you can consume the model as the source in other workflows such as
analytic models.
Figure 51: Fact Table for the SAP Analytics Cloud Model
1. In your story, update the plan data. In the example below, you can see Plan Sales Revenue
was updated.
3. In the Publish or Revert Data by Version dialog, select the Publish icon.
4. Check the SAP Datasphere fact table to see the change to the plan data.
2. Select the SAP Datasphere space that was exposed to the model.
1. Drag the first data source, in this example, Fact_Table_Plan_Data onto the canvas.
2. Drag the second data source, Fact_Table_Actual_Data and drop it onto the Union
operator.
Hint:
If the Status does not immediately update to Deployed, refresh the browser.
2. Select Deploy. Once deployed, graphical view changes color as shown in the following
example, and the Status updates to Deployed.
1. In the Select Dataset or Model dialog, select the SAP Datasphere storage location.
In the following example, you can see the plan data that was updated earlier in the lesson.
Figure 60: SAP Analytics Cloud Story Using an SAP Datasphere Model
LESSON SUMMARY
You should now be able to:
● Use seamless planning with SAP Datasphere.
Learning Assessment
X A In a planning model, both published and unpublished public data can be viewed.
X C In a planning model, only the user who created the private data can delete it from
model preferences.
X D In the Version dimension, Category is a property that is used to describe the type
of planning activity.
X A Version
X B Account
X C Generic
X D Measure
X A In the model
5. Which of the following statements about data entry modes are true?
Choose the correct answers.
X A Single Data Entry Mode processes each new data change immediately and is the
default for new tables added to SAP Analytics Cloud stories.
X B Fluid Data Entry Mode processes all new data changes at the same time if they are
made in a fast sequence.
X C Mass Data Entry allows you to enter multiple values in a table without waiting for
the system to update between entries.
6. When using inverse dimension formulas, when is it not possible to change the value for
cost?
Choose the correct answers.
7. The Planning Panel is a built-in feature used to distribute values among dimension
members in a story.
Determine whether this statement is true or false.
X True
X False
X A To use a model created in SAP Analytics Cloud for seamless planning, you must
expose the model to SAP Datasphere.
X B To use a model created in SAP Analytics Cloud for seamless planning, you must
select SAP Datasphere as the storage location.
X C To update a model created in SAP Analytics Cloud, you must make the changes in
SAP Datasphere.
9. To use seamless planning in SAP Analytics Cloud with a model created and deployed in
SAP Datasphere, which of the following steps must you complete?
Choose the correct answers.
X C Create a new model in SAP Analytics Cloud use SAP Datasphere as the storage
location.
The two types of Versions for planning models are public and private.
X A In a planning model, both published and unpublished public data can be viewed.
X C In a planning model, only the user who created the private data can delete it from
model preferences.
X D In the Version dimension, Category is a property that is used to describe the type
of planning activity.
X A Version
X B Account
X C Generic
X D Measure
Generic and organization dimensions allow the creation of new members from a story.
X A In the model
Cell locking is used in the story with no configuration needed in the model.
5. Which of the following statements about data entry modes are true?
Choose the correct answers.
X A Single Data Entry Mode processes each new data change immediately and is the
default for new tables added to SAP Analytics Cloud stories.
X B Fluid Data Entry Mode processes all new data changes at the same time if they are
made in a fast sequence.
X C Mass Data Entry allows you to enter multiple values in a table without waiting for
the system to update between entries.
While it is true that Single Data Entry Mode processes each new data change immediately,
it's Fluid Data Entry Mode that is the default for new tables added to SAP Analytics Cloud
stories.
6. When using inverse dimension formulas, when is it not possible to change the value for
cost?
Choose the correct answers.
In some cases, it may not be possible to change the value for cost. For example, if a cell
lock is applied to cost, or values are entered for cost and profit simultaneously.
7. The Planning Panel is a built-in feature used to distribute values among dimension
members in a story.
Determine whether this statement is true or false.
X True
X False
The Planning Panel is a built-in feature in a story used to distribute values among
members.
X A To use a model created in SAP Analytics Cloud for seamless planning, you must
expose the model to SAP Datasphere.
X B To use a model created in SAP Analytics Cloud for seamless planning, you must
select SAP Datasphere as the storage location.
X C To update a model created in SAP Analytics Cloud, you must make the changes in
SAP Datasphere.
Models created in SAP Analytics Cloud must be updated in SAP Analytics Cloud. Models
created in SAP Datasphere must be updated in the SAP Datasphere Data Builder.
9. To use seamless planning in SAP Analytics Cloud with a model created and deployed in
SAP Datasphere, which of the following steps must you complete?
Choose the correct answers.
X C Create a new model in SAP Analytics Cloud use SAP Datasphere as the storage
location.
To use seamless planning for your actual data, you first have to create an Optimized
Design Experience story in SAP Analytics Cloud using the model that you created and
deployed in SAP Datasphere. You do not need to create a new model in SAP Anaytics
Cloud.
Lesson 1
Exploring Data Actions 73
Lesson 2
Using Data Actions to Copy Data Within a Model 81
Lesson 3
Using Data Actions to Copy Data Between Models 85
Lesson 4
Using the Visual Editor to Create an Advanced Formula Data Action 89
Lesson 5
Using the Script Editor to Create an Advanced Formula Data Action 97
Lesson 6
Creating Dynamic Data Actions and Tables 107
Lesson 7
Creating and Running Multi Actions 111
Lesson 8
Managing Data Action Performance 115
UNIT OBJECTIVES
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Describe the data action features.
Data Actions
Introduction
A data action is a flexible planning tool for making structured changes to planning data in SAP
Analytics Cloud. Modelers design the data actions and planners run them in stories or
schedule them in the calendar.
A data action is created based on a planning model and consists of one or more steps that are
carried out on a public or private version.
Parameter Values
Parameter Values are determined by:
● Member selection in the story
● Default values in the data action parameter definition
● A story filter
● An input control
Parameter Type
Parameters Type can be based on members or numbers:
● Member: Creates a parameter that represents a dimension member. For example, this
type of parameter lets you change the year that you're copying data to or from.
● Number: Creates a parameter that has a numeric value. For example, this type of
parameter is added to advanced formulas, and can let you prompt users for values such as
growth rate or gross margin percentage.
Note:
When a parameter is used to select the source member, the Cardinality must be
set to a Single member.
1. From a story.
In this section, we’ll focus on using the SAP Analytics Cloud calendar to schedule the data
action as a task.
Note:
Multi actions can also be scheduled. For example, a multi action could include
several data actions as well as import steps.
Note:
If you choose Publish target version automatically as a Follow-Up Action in the
panel, then after the data action finishes:
● All unpublished changes to the target version will be published, even if they
weren’t part of the data action.
● If you're running the data action on a BPC write-back model, you'll need to
publish the version manually.
LESSON SUMMARY
You should now be able to:
● Describe the data action features.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create and run a data action to copy data within a model.
1. Use a parameter for the source version. The source version parameter is then added to
the context which will result in a prompt.
2. Every data action will always prompt for the target version regardless of whether the
target version prompt is in the filter or not.
Every data action has a system-provided Filter for Version. The default version filter is the
target version prompt.
Aggregate Setting
In the Aggregate To area of a data action, add any dimension where you want to override the
default disaggregation behavior.
For dimensions that aren't included in the Aggregate To area, the copied data will match the
distribution of the source data by default. This behavior is similar to copying and pasting a cell
with the Paste Details option enabled.
For example, if you want to remove the distribution of data to different customers for privacy
reasons, you can aggregate the data to the Unassigned member of the Customer dimension.
In this case, all of the copied data is booked to the Unassigned member.
Parameters
The prompts are based on the data action parameters. In a story, these are the input options:
● Prompt
● Fixed Value
If you choose the Prompt type, there are four Value options:
1. Member Selection
2. Default Value (based on the default value set in the data action configuration)
3. Story Filter
4. Input Control
Running in Background
If the data action is set to always run in the background, or if you select Run in Background
after starting it, you'll return to your story or extended story. You can keep working with your
story or extended story but you'll have to wait until the data action finishes to make changes
to the same version and you may need to refresh to see the results.
A message appears when it’s complete or you can check the Notifications list for the results.
Publishing
Data actions can be set up in stories to publish automatically, so that planners don't have to
publish data in a separate step. Alternatively, if a data action is set up in a story not to publish
automatically, then the data can be reverted.
There are three publishing options:
1. Do not publish.
LESSON SUMMARY
You should now be able to:
● Create and run a data action to copy data within a model.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create and run a data action to copy data from one model to another.
● The data needs to be physically copied from one planning model to another.
● Example: Copy actual labor hours from HR as the basis for forecast hours.
● Example: combine transaction data with exchange rates for immediate conversion.
3. No Data Duplication:
For each of the target dimensions listed in this area, you need to either map a source
dimension or select a default value. As an example, in Cross Model Copy with Mapping figure,
currency is set to Unassigned. In this example, labor hours are being copied from an HR into
an expense model. In the HR model, labor hours aren't related to currency.
You don't need to map source dimensions that aren't relevant for the target model. For
example, you might choose not to map gender or office location from the Headcount model to
the Finance model.
The source and target models can have different dimensions. For example, HR has personal
area but Expense doesn’t. In the data action, a constant can be used for personal area.
Note:
Cross-model copy steps don’t support copying between classic account models
and models with measures, but you can use an advanced formula step with a LINK
function instead. For example, for a classic account model that has the same set
of dimensions as a target measure model, a simple link function that copies
account values to a measure looks like this:
DATA([d/Measures]="Quantity") = LINK([AccountModel], [d/
Version]="public.Forecast", [d/Account]="Quantity")
When mapping date dimensions with different time granularity, the first day of the source
member will always be used as a point of reference. For example, this option could be used
when copying from a source dimension with month-level granularity to a target dimension
with day-level granularity.
If a source dimension month starts on January 1, 2027, this month will be mapped to the day
member January 1, 2027 on the target dimension. This pattern will be repeated for all
dimension members.
Note:
The objects in the Copy from Weekly to Monthly image above is contained in the
SACP21 → Solutions folder:
● Models:
- U00M_Monthly
- U00M_Weekly
● U00S_Weekly_to_Monthly story
● U00DA_Week To Month data action
1. Open the U00DA_Week To Month data action. Go to the Date mapping and view the auto-
generation setting.
2. Open the U00S_Weekly_to_Monthly story from the SACP21 → Solutions folder. Input
some data in the weekly model and run the data action to see the aggregation from weeks
to months.
LESSON SUMMARY
You should now be able to:
● Create and run a data action to copy data from one model to another.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create an advanced formula data action using the visual editor.
Note:
Advanced data actions are used to perform calculations that are stored in the
database. If there's a need to perform calculations that aren't stored in the
database, there are several options:
● Data table formulas
● Story-based calculated measures
● Model-based calculated measures
4. Formula options:
● Calculation
● Repeat
● Condition
● Delete
● Comments
Advanced Formula
● Advanced formula actions allow you to design formulas for calculations to apply to the
source data. The results are written to specified scopes in the planning model.
● Unlike dimension formulas, which perform the calculation in real-time "on the fly", the
advanced formulas data action stores the result of the calculation in the SAP Analytics
Cloud database.
● And as with dimension formulas, parameters can be used in the advanced formula data
action.
Context Membersets
Use Membersets to Restrict the Data Region
Membersets are used to restrict the data region for the calculation.
Typical use cases:
● MEMBERSET [d/ORGANIZATION].[p/REGION] ="ASIA“: Set the scope of the
Organization dimension's Region property to ASIA.
● MEMBERSET [d/FLOW] = ("F_TEMP", "F_NONE"): Set the scope of the Flow
dimension to the F_TEMP and F_NONE members.
Memberset is used to determine the context, that is the Point of View or the Scope.
● Result, if the user selects hierarchy node Canada, only Canadian cost centers will be
included in the calculation.
In the preceding example, January data is being copied to February with an uplift:
DATA([d/Date] = %TargetMonthYr%) = RESULTLOOKUP([d/Date]=PREVIOUS(1)) *
%UpLift%
● %UpLift% is the variable for the uplift provided by the planner. Example: 1.25.
Scenario Example
Scenario: Calculate Labor
● Read labor rates from the HR model and multiply them with labor hours in the expense
model
● Input parameters are used to query information from users at execution time
● Memberset parameters flexibly define the execution scope (%CostCenter% and
%MonthYear%)
● Other scoping is hard-coded: currency = EUR
● In the DATA line, the LINK command reads labor hours from the HR Model
Note:
In the preceding example, line 6 has a line break to fit it all on one image. Line
breaks on data lines aren't permitted.
Note:
You can also link analytic models.
LESSON SUMMARY
You should now be able to:
● Create an advanced formula data action using the visual editor.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create an advanced formula data action using the script editor.
Variables
Variables in advanced formulas can be used to store data temporarily while the script is
running, to avoid calculating the value repeatedly. This is the traditional concept referred to as
a Local Variable. or Virtual Variable Member. The virtual variable member will be stored
independently and cannot be added to a dimension like a real dimension member. After
defining a variable member for a certain dimension, you can use the variable member to store
values only for that specific dimension.
Key Points:
● Write this definition after the configuration settings and before all the instructions.
● Create a new name for a virtual variable member. Make sure, in the variable member
definition, it always starts with the prefix "#".
● Dimension Name is mandatory and must be an existing dimension in the current data
action model. The version dimension is not supported. Measures are supported, for
example: VARIABLEMEMBER #Total_Revenue OF [d/Measures]
● A virtual variable member can only be used in DATA and RESULTLOOKUP functions. When
inputting "#" in DATA() or RESULTLOOKUP(), a list of all available virtual members will be
shown.
Test Variables
To work with variables, use the following content in the training system:
● P00S_Logic Story: Copy this story from the SACP21 course content folder.
● P00M_Logic Model.
● P00_Logic advanced formula.
Configuration Options
Configuration Options
Fiscal Year: This configuration governs the time hierarchy used in the advanced formulas.
This setting affects the result of time/date commands, such as FIRST and LAST.It controls
which period is selected.
Account Sign Flip: If this option is turned on, all calculations consider the sign value (debit or
credit) of each account according to the account type (LEQ, AST, INC, and EXP).
Unbooked Data: Unbooked data refers to cells with empty values. If turned on, all empty
cells in the source data to be copied will be treated as cells with zeroes.
This configuration governs the time hierarchy of the script. If this configuration is not defined,
the default time hierarchy from the model is used.
In the Advanced Formula - Sign Flip example, the memberset command is selecting data for
revenue and cost and then writing the result to retained earnings. If the sign flip setting is ON,
the correct value (40) is written to retained earnings.
In the example Advanced Formula - Unbooked Data, January data for profit centers PC1/2/3
is being copied to February. By using the unbooked setting, the existing 500 value for PC4 can
either be retained or set to zero (to match the source).
Script Syntax
● " ": Double quotes are required when specifying dimension members.
● /: Comments
Note:
In an advanced formulas step, you can repeat a group of statements a specified
number of times, using the FOR keyword. Employing a BREAK statement inside a
FOR loop will allow you to stop the loop when the given condition is met, offering
more flexibility.
Note:
In the Show option in the Script tab, you can turn Auto Complete off.
For more syntax options, to the reference guide: Advanced Formulas Reference Guide
Formula Options
Formula Options
When you create an advanced formula, you have 5 options.
1. Calculation
Calculation will create an equation such as Target = Expression
2. Delete
Delete will prompt for a filter upon which to identify which cost center to delete, for example.
3. Repeat (loop)
Repeat (loop) will prompt for a dimension to loop over, and then you can add a calculation, for
example.
For example, calculate revenue amount with a 10% increase over the previous month:
MEMBERSET [d/Date] = (BASEMEMBER([d/Date].[h/YQM], "[2024]"))
MEMBERSET [d/Measures] = ("Amount")
MEMBERSET [d/Account] = ("Revenue")
FOREACH [d/Date]
Data() = ResultLookup([d/Date]=PREVIOUS(1)) * 1.1
ENDFOR
4. Comment
Comment creates an input field for explanations.
5. Condition
Condition will prompt for a filter upon which to create the if statement, and then you can add a
calculation.
For example, if the company = US, then copy prior year data to the current year data +10%.
MEMBERSET [d/Date] = (BASEMEMBER([d/Date].[h/YQM], "[2024]"))
MEMBERSET [d/Measures] = ("Amount")
MEMBERSET [d/Account] = ("Revenue")
IF [d/Company] = "US" THEN
DATA() = RESULTLOOKUP([d/Date] = Previous(12)) * 1.1
ENDIF
In the previous examples, you can see how the system creates formulas depending on which
option you pick. Each one generates code that you can view in the script dialog. In the
following example, you can see an example of a Calculate Labor formula in the Visual Editor.
Editing Options
There are four editing options, when you hover over the formula:
1. Duplicate
2. Annotate
3. Comment out
4. Delete
1. Each line of instruction inherits the calculation results of previous lines of instructions.
2. Advanced formulas perform all calculations only with leaf-level members that don’t have
any account formulas defined.
3. In a RESULTLOOKUP function, the function considers the most detailed values in the
dataset, even if the formula doesn't specify them. For example, consider the following
record set:
Account Product Entity Date Value
Quantity Sparkling Water Region Dec.2018 210 (aggregate
of all countries)
Quantity Sparkling Water Germany Dec.2018 50
Quantity Sparkling Water France Dec.2018 70
Quantity Sparkling Water UK Dec.2018 90
You write a formula to add 20 to the Quantity Values for December 2018 and write the new
values to January 2019:
MEMBERSET[d/Product]="Sparkling Water" MEMBERSET[d/
Account]="Quantity" DATA([d/Date]="Jan.2019")=RESULTLOOKUP([d/
Date]="Dec.2018")+20
The final result will add 20 to each detailed Entity value, not to the aggregated Region
value:
4. A null value is treated as a non-existent value, while 0 is treated as an actual number. If the
RESULTLOOKUP function returns a null value, advanced formulas do nothing.
5. Advanced formulas basically work with the fact record-set of the model. If you don't
specify other dimension information and members via the MEMBERSET definition, the
advanced formulas will take all members from the dimensions in the model.
Note:
In an advanced formulas step, you can repeat a group of statements a specified
number of times, using the FOR keyword. Employing a BREAK statement inside a
FOR loop will allow you to stop the loop when the given condition is met, offering
more flexibility.
LESSON SUMMARY
You should now be able to:
● Create an advanced formula data action using the script editor.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Build dynamic data actions and tables.
4. The data action reads the current year selection via the input control.
In the preceding example, you select the planning year using an input control. The input form
as well as the data action use the same input control to determine the current year, thereby
resulting in fewer selections for you.
The input form is configured as follows:
● PY Actual is a restricted measure based on a fixed assignment for Version = Actual and a
dynamic selection for year of: Previous Year.
● CY Fcst is a restricted measure based on a fixed assignment for Version = Forecast and a
dynamic selection for year of: Year to Date.
● Hidden column is needed to determine the current year (hard coded) in the scenario.
● Year 2023 column header is a dynamic text widget.
Note:
In the Dynamic Table Example, 2023 is determined via dynamic text from an input
control.
To create a restricted measure, use the Add Calculation option for Measure.
In the preceding example, note the following rows in the Advanced Formulas Step:
Note:
Target version is a parameter by default and doesn't appear in the advanced
formula.
LESSON SUMMARY
You should now be able to:
● Build dynamic data actions and tables.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Configure and run multi actions.
Multi Actions
What are Multi Actions?
Multi actions help you orchestrate a set of planning operations across multiple models and
versions. They link together a sequence of steps such as data actions and version
management steps, which all run from a single planning trigger. Multi actions can help
planning users save time when they need to run multiple data actions in a sequence, publish
versions, or both.
If multi actions are available in a basic or extended story, you can run them to carry out
complex or repetitive planning operations more quickly and accurately.
You can add parameters to your multi actions to prompt you for values while running the
operations and to make them easier to update and reuse.
Consider using multi actions if your planning process involves running data actions on
multiple versions or models or publishing data between data action steps.
● Data Action Step: Runs a data action with parameter values that you specify in the step,
either by setting fixed values or by applying parameters from the multi action.
● Data Locking Step: Allows data locks to be set directly from the multi action trigger.
Setting data locks protects your data from unwanted changes.
● Version Management Step: Publishes a version from the model that you specify. You
can set the version, or apply a parameter from the multi action.
● Predictive Step: Runs a time series forecast predictive scenario to answer business
questions using a predictive model. This step retrains a predictive model based on the
current state of your data, and then writes a forecast to a public or private planning
version.
● Data Import Step: Import master data and transaction data from SAP source systems.
● API Step: Integrates on-premise and cloud-based external applications using an HTTP
Application Programming Interface (API).
Note:
If you’ll be adding multiple data actions based on the same model and version,
it is recommended to embed these data actions into a new data action first.
You can then add the new embedded data action to your multi action to
improve performance.
● In the story, you can trigger multi actions with one click
3. Business value:
● Lower cost-of-development
Run data actions on multiple Plan on multiple versions si- Multi Action
target versions multaneously and populate
them with initial data
Run data actions on multiple Copy data from a strategic Multi Action
models planning model to multiple
models such as workforce
and finance
Run a data action, publish da- Copy the initial data to a ver- Multi Action
ta and then run another data sion, publish it and then run
action an advanced formula
LESSON SUMMARY
You should now be able to:
● Configure and run multi actions.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use best practice tips and performance tracking content.
1. Check the calculation scope: After you validate your script without errors, you can check
the calculation scope for specific functions. This helps you get good performance and
correct calculation results in an advanced formulas step. Check the scope by hovering
over one of the supported functions.
2. Reduce the Number of FOREACH functions and limit their scope as much as possible:
FOREACH functions are helpful when you need to run a calculation for multiple dimension
members, and the result from each member becomes the input for the next member.
● However, FOREACH functions repeat the calculation for each member included in their
scope, so they can slow down performance.
● In many cases, you can either replace a FOREACH function with a different function, or
reduce the scope of the FOREACH function for better performance.
5. Avoid using the “= NULL” comparison if possible: Using the “= NULL” comparison can
slow down your data action because the script needs to check each member to see if it’s
unbooked.
6. Reduce the number of DATA functions: Using numerous DATA functions can also cause
slow performance. You might be able to use fewer DATA functions when copying data
within a dimension, or when assigning initial values.
Additional Information
For more information, go to Performance Best Practices
Performance Aids
If you're an administrator of an SAP Analytics Cloud tenant, you can use the following decision
tree to find resources that will help you resolve performance issues as well as the
Performance Analysis Tool to analyze and manage system performance.
It is deployed per default into your system folder directory into the SAP Analytics Cloud
content folder so you don‘t need to deploy it from the Analytics Content Network. The analytic
models, stories, and analytic applications are provided off-the-shelf.
For more information, visit SAP Analytics Cloud Performance Analysis Tool
LESSON SUMMARY
You should now be able to:
● Use best practice tips and performance tracking content.
Learning Assessment
X A Delete step
X B Copy step
X D Save step
2. How can you make a copy step more flexible for the end-users?
Choose the correct answer.
X B Use SAP Analytics Cloud's Input Task collaboration option to solicit their input
X True
X False
5. The results of an advanced formula step are not stored in the SAP Analytics Cloud
database.
Determine whether this statement is true or false.
X True
X False
X A In a model
X C In a story
7. When you filter data with an input control, you can automatically run the data action for
the same member.
Determine whether this statement is true or false.
X True
X False
X A Faster performance
X B Scheduling
9. Your users are complaining that their data actions are running slower than normal. You
should follow up by running everyone's data actions to see for yourself.
Determine whether this statement is true or false.
X True
X False
X A Delete step
X B Copy step
X D Save step
Six types of data actions are available: Copy, cross-model copy, embedded, allocations,
currency, and advanced formulas.
2. How can you make a copy step more flexible for the end-users?
Choose the correct answer.
X B Use SAP Analytics Cloud's Input Task collaboration option to solicit their input
X True
X False
You must filter on the source version to copy data between models.
5. The results of an advanced formula step are not stored in the SAP Analytics Cloud
database.
Determine whether this statement is true or false.
X True
X False
Advanced formula results are stored in the SAP Analytics Cloud database.
X A In a model
X C In a story
You can use the visual or script editors to create advanced data actions.
7. When you filter data with an input control, you can automatically run the data action for
the same member.
Determine whether this statement is true or false.
X True
X False
You can link a data action parameter to input controls and story filters.
X A Faster performance
X B Scheduling
Multi actions can be scheduled in the SAP Analytics Cloud calendar and multiple data
actions can be bundled into one multi action. By including one multi action in a story
instead of several data action, the cost of developing stories is lowered.
9. Your users are complaining that their data actions are running slower than normal. You
should follow up by running everyone's data actions to see for yourself.
Determine whether this statement is true or false.
X True
X False
You should access the built-in performance tracking content and run the Data Action
Statistics and Analysis story.
Lesson 1
Outlining the Concept of Allocations 127
Lesson 2
Creating Data Action Allocations 129
Lesson 3
Performing Allocations 135
UNIT OBJECTIVES
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Describe the business purpose to use allocations.
Allocations Overview
In SAP Analytics Cloud, you can create complex multistep allocations with ease. You can:
● Define the specific source and target dimensions for each step
● Define the specific source elements, allocation driver, and target elements for each step
● Execute allocations against a selected dimension members from within a story
● Schedule allocations in the calendar
For example, Corporate HR is an overhead function. What logic will we use to push these
costs back to the divisions?
Allocations are used to assign overhead costs to operating units so that they know their full
cost of operations. For example, you want to allocate:
● the cost of HR to departments based on the number of employees,
● annual values to period values based on historical trends, or
● overhead, based on the relative amount of manufacturing cost.
To do this, you can create data actions with multiple allocation steps. As you add allocation
steps to the data action, you can easily visualize the entire allocation process. You can then
execute the allocation data action in a story and see the impact in the data table.
Note:
To create new allocations, data actions must be created. It isn’t possible to create
legacy allocation processes or steps. The legacy allocation objects can be
migrated into data actions if needed. Legacy allocations can still be run from
stories.
LESSON SUMMARY
You should now be able to:
● Describe the business purpose to use allocations.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create data action allocations.
1. Data Source: The planning model is inherited from the data action.
2. Filters: Filters allow you to restrict the dimension members and measures for the
allocation step.
3. Write Mode: To keep the values of the source cells, select Keep Source.
The source values will be copied and allocated to the targets, instead of being reduced to
zero. Don't select Keep Source if the goal is to fully allocate the source.
Figure 96: Data Action Allocation Step - Data Source, Filters, and Write Mode
Driver Context
Reference dimensions enable you to use more fine-grained weights for the allocation. The
Date dimension is by default a reference dimension.
Target Context
● Booking Account: You can use one set of accounts to calculate the values to allocate, and
then send (book) those values using a different account. To do this, you can select a
Booking Account to send the values. If no booking accounting is selected, the original
accounts are used as the sending accounts.
● Write Mode: To delete existing values of the target members at the start of the step, in
Write Mode select, Overwrite Target.
Note:
To allocate expenses based on prior-year actual data, you can use a calculated
account (a dimension member formula) that looks up values for the actual version
and the prior year. The year can be hard-coded, or it can be accessed dynamically
by using an offset. For example:
● Account PriorYearActualHeadCount = LOOKUP([Number of
People].[d/Version]=”public.Actual” AND[d/Date]=”2023”)
1. Source Dimension: To create an allocation step, you must specify a source dimension,
which holds the values that you want to distribute. This can be any dimension except
Version (Version is a built-in prompt), and is typically the Organization type dimension, for
example, Entity or Cost Center. You can select more than one source dimension.
2. Driver Dimension: This provides determines how much each target dimension receives.
For example, use kilowatt hours to distribute the cost of electricity.
3. Target Dimension: After specifying the Source Dimension and Driver Dimension, you
specify a Target Dimension to receive the distributed values. This can be any dimension
except Version and Account (Booking Account is already an option), and is typically an
Organization type dimension; for example, Entity or Cost Center. You can select more
than one target dimension if necessary.
You can also use a parameter instead of hard coding dimension members.
Figure 100: Allocation Rules - Number of Repetitions - Reciprocal Method of Cost Allocation
In this example, HR is allocating to IT and vice versa. In a scenario like this, you can increase
the number of repetitions to fully allocate both HR and IT cost centers. You can see in the
following example, the data before the allocation was executed and after 7 iterations.
LESSON SUMMARY
You should now be able to:
● Create data action allocations.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Perform an allocation.
Run an Allocation
Allocation Data Actions in a Story
Allocations are run in the story using data actions.
In the figure entitled Electric|Telephone|Water Allocation - Before & After, the Utilities cost
center expenses for electric, water, and telephone are allocated based on kilowatt hours and
number of people.
In this example, the Utilities cost center is being treated as a pass-through for the electric,
water, and telephone costs. Correspondingly, the same accounts that collect the costs are
also being used as the sending accounts.
As a result, the Utilities cost center is zeroed out.
In the figure entitled HR Allocation - After, the HR cost center expenses are allocated based on
the number of people in the receiving cost centers.
In this example, the HR expenses are allocated using a separate sending account: Human
Resources. As a result, the HR cost center is zeroed out in total, but a comparison can still be
made between actual and plan values since a separate account is being used for the
allocation.
LESSON SUMMARY
You should now be able to:
● Perform an allocation.
Learning Assessment
X True
X False
2. The booking account is used to send a summarized value to target cost centers.
Determine whether this statement is true or false.
X True
X False
3. An allocation can be run from the story ribbon or via a data action.
Determine whether this statement is true or false.
X True
X False
X True
X False
Allocations are performed in order to identify the total cost by responsible unit.
2. The booking account is used to send a summarized value to target cost centers.
Determine whether this statement is true or false.
X True
X False
The booking account is used to send a summarized value to target cost centers.
3. An allocation can be run from the story ribbon or via a data action.
Determine whether this statement is true or false.
X True
X False
An allocation can be run from the story ribbon and / or a data action. Data actions can run
all steps of an allocation process or individual steps.
Lesson 1
Configuring Currency Translation 143
Lesson 2
Performing Currency Translation 153
UNIT OBJECTIVES
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Configure currency translation in models and stories.
Note:
The following comments go along with the Currency Translation Overview figure.
Business scenario: In our scenario, ABC Corporation has companies in various countries/
regions. Each company plans their income statement in their own local currency. After the
companies submit their results to headquarters, the corporate planners convert the local
currency results for all companies into the group currency so that the overall results are in
one currency. The local and group currency values are stored in the model. Also, there are
requirements to convert currencies on-the-fly to perform comparisons to prior years, and
hold exchange rates constant over time.
To meet these requirements, SAP Analytics Cloud uses the following components:
● Exchange rate table: The exchange rate table in SAC stores exchange rates for pairs of
currencies by date and version. The exchange rates are imported from financial
institutions.
● Model: When currency conversion is enabled for a planning model, the relevant SAP
Analytics Cloud exchange rate table is referenced. For models that have currency enabled,
there are dimensional properties that are used to convert currencies. In the entity
dimension, the Currency property identifies local currencies for each entity. The account
dimension's Rate Type property identifies whether accounts use average or ending rate
types. The account dimension also has a Unit and Currencies property that determines
whether an account is relevant for currency conversion or not.
● Measures: The amounts in the model are stored in two measures:
1. The currency for the Local Currency Amount values are determined via each entity's
local currency property value.
2. The Group Currency Amount measure is fixed to the corporate currency (USD).
Because there are so many Canadian companies, the model also includes the CAD
Amount converted measure, which is calculated on-the-fly as the data is refreshed in
stories. Additional converted measures can be easily added to the model, potentially
reducing the need to create converted measures in stories.
● Data Flow: Now, let’s discuss how we'll populate the planning model. In this scenario, we'll
start by importing actual local currency amounts for each entity from the source system.
After the actual Local Currency Amounts are copied into forecast Local Currency
Amounts, we can then convert the forecast Local Currency Amounts into the Group
Currency Amounts via a data action.
● Data action: The currency data action is used to convert forecast Local Currency Amounts
to Group Currency Amounts. The data action is run in the story when the planner is
finished updating the Group Currency Amount values.
● Story: In the story, the planners have access to the local, group, and CAD currency
amounts from the model. If needed, planners can add additional converted measures in
the story for comparison purposes. For example, calculate the local currency amount at
last year's exchange rate. Or, convert monthly local currency amounts at a fixed exchange
rate to perform a constant currency analysis.
● Exchange rates are stored in the SAP Analytics Cloud currency translation table.
● Currency tables can be updated using:
- Flat files
- SAP BPC rate models
- SAP Business Warehouse queries
- Manual data entry
● Exchange rates originate from financial institutions and are automatically or manually
updated into SAP Analytics Cloud.
Note:
● The concepts in this lesson concern planning concepts not month-end closing
currency translation.
● If you use New Models, you can enable a currency variable in the model
preferences to set a default target currency for conversions measures.
1. Source Currency: CAD values will be translated to EUR values at an exchange rate of 0.65
for accounts that have the Average rate type for postings that occur on 2024.01.01 or
later.
2. Category: Use this to assign exchange rates to specific categories such as actual or plan.
3. Rate Version: Use this for optimistic or pessimistic scenarios for example. Use a category
value = Specific to use rate version.
4. Rate Type: These are assigned to accounts. Income statement accounts use Average and
balance sheet accounts use Closing.
5. Conversion Errors: Check the dropdown to view the conversion error log, if needed.
More Information
For more information on currency conversion tables, visit Learn about Currency Conversion
Tables
Measures can also be added to the model that calculate currency values on-the-fly.
Note:
When currency conversion is activated for the model, the Rate Type property is
added to the account dimension, and the Rate Version property is added to the
version dimension. The currency variable can be used to determine the target
currency dynamically when the story is opened.
Currency Variable
If the currency variable is turned on, the variable can be used to determine the target
currency for a translated measure (but not in a measure).
2. If needed, change the name of the currency property (for display in input forms). LC is the
local (or operating currency) of the entities. For example, a store in Canada has a local
currency of CAD.
Switch on Enable Currency to add a Currency column to the dimension. Using three-character
currency codes, this column identifies the source currency for data that belongs to each leaf
member.
The Currency column is enabled by default for the Organization dimension, and can also be
added to generic dimensions (but not for any other dimension types).
For each converted measure in the model, a dimension (any dimension with currency
enabled) is set as the currency dimension.
The setting corresponds to the rate type for exchange rates in your currency table. It lets you
distinguish between the average exchange rate for a period and the closing rate at the end of
the period.
Note:
Only the average and closing rate types are possible. Custom rate types aren't
possible.
1. Local Amount This stores the amounts in the currency of each company. The currency for
each company (or entity) is stored in its dimension.
2. Group Amount This stores the amounts in the corporate currency. The group currency is
fixed in the group amount definition.
Converted measures are calculated as and when needed. The calculated values aren't stored
in the database.
Model-based measures are available to story designers and therefore reduce the need to
create story-based converted measures.
Note:
Base measure rate type: If you have an account dimension as the primary
structure, the account member sets this value, so it’s not necessary for the
measure.
The category can be set to Dynamic when the data action applies to various categories. Or, a
specific category can be specified.
LESSON SUMMARY
You should now be able to:
● Configure currency translation in models and stories.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Perform currency translation in stories.
2. P_ACCT Values: The local currency is EUR. This value is stored in the database.
3. Group Currency USD: The group currency is USD. This value is stored in the database also.
4. Alternative Currency CAD: The alternative currency is calculated but not stored. This is an
example of a model currency conversion measure.
Note:
3. Target Currency: Select the target currency: either fixed or based on the entity currency.
4. Category: You can choose between categories, either dynamic, or fixed to actual or plan.
5. Source Measure: Select the required measure from the drop-down list.
6. Date: Select the date to determine the exchange rate. The Booking Date, for example, is
determined through the date dimension (specified in the currency setting) in the model.
Note:
If a currency conversion is added and there are no exchange rates for that
combination of currencies, then the system directs you to the currency table (to
add the missing rates).
Constant Currency
Business Scenario: You want to see companies' annual growth in a model currency (such as
USD) but you want a flat conversion rate applied so you filter out the currency conversion
impact on your figures.
● The Default Currency (USD) values are translated with the monthly average exchange
rates for 2020. For example:
- Jan: 11,655.9 x 1.1 = $12,821.5
- Feb: 17,302.5 x 1.15 = $19,897.9
● The USD in Constant ER (USD) values are translated with the Jan average exchange rate
for 2020. For example:
- Jan: 11,655.9 x 1.1 = $12,821.5
- Feb: 17302.5 x 1.1 = $19,032.7
LESSON SUMMARY
You should now be able to:
● Perform currency translation in stories.
Learning Assessment
1. A currency data action stores its result in the database but a conversion measure does
not.
Determine whether this statement is true or false.
X True
X False
2. You are analyzing currency values in a story. You can access any conversion measure
from the model and you can also create more conversion measures in the story.
Determine whether this statement is true or false.
X True
X False
1. A currency data action stores its result in the database but a conversion measure does
not.
Determine whether this statement is true or false.
X True
X False
Currency data actions are run to record results into the database. Conversion measures
are calculated on the fly.
2. You are analyzing currency values in a story. You can access any conversion measure
from the model and you can also create more conversion measures in the story.
Determine whether this statement is true or false.
X True
X False
Model-based conversion measures are available in stories and you can create your own in
stories if needed.
Lesson 1
Configuring Rolling Forecast Layouts 161
Lesson 2
Forecasting with Predictive Analytics 165
Lesson 3
Simulating with Value Driver Trees 173
UNIT OBJECTIVES
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Create rolling forecast layouts.
Rolling forecasts allow the easy display of a few periods of actuals in the past followed by a
few periods of the future forecast data.
With SAP Analytics Cloud, you can easily create a rolling forecast table using the Forecast
Layout table type. The table in your story has a version with data that you want to use for the
forecast periods. If it doesn't have one, you can use Version Management to create one.
1. Layout
● Look back on: The version for looking back (probably Actuals). You can also create an
input control to allow users to choose the look back version.
● Look ahead on: The version for forecasting or looking ahead. You can also create an
input control to allow users to choose the look ahead version.
● Cut-over date: The date of the change from Look back on and Look ahead on. Options
are:
- Specific Date: In the Select member for Date dialog box, select the date or add a
dynamic filter with a New Calculation Input Control.
- Last Booked (Actuals): The latest date of data entered for the Actuals version.
2. Timeframe
- Look back additional - Enter the number of time intervals and set the granularity of
the look-back (Year, Quarter, or Month).
- Look ahead additional - Type the number of time intervals and set the granularity of
the look-ahead (Year, Quarter, or Month).
- Look back - Type the number of time intervals and set the granularity of the look-
back (Year, Quarter, or Month).
- Look ahead - Type the number of time intervals and set the granularity of the look-
ahead (Year, Quarter, or Month).
3. Calculation: Sum the data values for either the Cut-over Year, All periods, Look ahead
periods, or None (does not sum).
4. Additional Versions: The settings you make in the Forecast Layout dialog box determine
how your table will compare Actuals with Forecast data. This feature allows you to see a
Delta column for the difference between the values in the forecast layout and any other
version that is not already in the table.
Hint:
In the table header, you can use the Hidden hyperlink to view members that are
hidden based on the rolling forecast selections.
LESSON SUMMARY
You should now be able to:
● Create rolling forecast layouts.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Use predictive analytics for planning.
Smart Planning
Predictive Forecasting
Predictive forecasting takes different values into account and also looks at trends, cycles, and
fluctuations in your data. This data-driven approach optimizes your planning process since
it's based on facts, not feelings.
SAP Analytics Cloud predictive forecasting helps you understand your key business
influencers, with interactive visuals giving you a clear view of your data. This unbiased view
leads to more accuracy in planning tasks.
To use predictive forecasting in SAP Analytics Cloud, try to use a dataset with as much
historical data as possible. The system will use this dataset to look for trends, and the more
history you have, the easier it is to notice trends.
Main Functionality
SAP Analytics Cloud predictive forecasting allows you to understand past data trends to
predict future metrics. The automatic predictive algorithm classifies existing information,
identifies outliers, and surfaces relationships within your data to help you identify and
understand your business’ key influencers.
The main functions of the automatic predictive calculations are:
You can further refine your predictive forecasts by using the Influencers setting that allows
you to select which influencer variables to include before training your predictive planning
model.
With Smart Predict, you can go one step further and generate forecasts per entity to get
accurate business-oriented insights, not only raw forecasts. You can directly use your
planning model as the data source, no need to extract data in a dataset.
Here's a short summary of the different components that you can use to debrief your results
so you can verify the accuracy of your predictive model:
● Horizon-Wide MAPE Is the main performance indicator high enough to consider my
predictive model robust and accurate? Check the quality of your model performance over
the Horizon-Wide MAPE. It evaluates the "error" made when using the predictive model to
estimate future values of the signal, where zero indicates a perfect model. The lower the
Horizon-Wide MAPE, the better your predictive model performance. For more information,
refer to Horizon-Wide MAPE
● Signal Analysis What forecasts are provided by the predictive model? Have a close look at
the signal and forecasts. Signals show trends, cycles, and fluctuations in the signal, each
with a description. Check if there are outliers in the forecasts and detect anomalies on the
signal. For more information, refer to The Predictive Forecasts, The Signal Outliers and
The Signal Anomalies
● Signal vs. Forecast How accurate is my predictive model? Use the Signal vs. Forecast
graph to visualize the predicted values (forecast) and actual values (signal) for the data
source. You can then quickly see how accurate your predictive model is, what are the
outliers, the zone of possible errors. For more information, refer to The Forecast vs. Actual
Graph and The Signal Outliers
If you're not satisfied with the model once you’ve analyzed the results, you can improve your
predictive model by changing the settings, or if necessary, changing the data source.
Performance
Check the quality of your predictive model performance over the Horizon-Wide MAPE. The
Horizon-Wide MAPE is the evaluation of the "error" made when using the predictive model to
estimate the future values of the signal. A Horizon-Wide MAPE of zero indicates a perfect
predictive model. The lower the Horizon-Wide MAPE, the better your predictive model
performance.
Analyze the predicted values for the predictive model over a set of known data from the
training data source. Check if there are outliers in the forecasts and detect anomalies on the
signal.
Use the Signal versus Forecast graph to visualize the predicted values (predictive forecast)
and actual values (signal) for the training data source. You can then quickly see how accurate
your predictive model is, what are the outliers, the zone of possible errors.
For more information regarding Smart Predict, you can go to Analyzing the Results of Your
Time Series Predictive Model.
The confidence interval (dotted lines) helps to understand the level of confidence we have in
the forecast. If the interval is narrow, we have a high confidence in the forecasts.
After running Smart Predict and confirming that the results are reasonable, you can save the
data to the planning model in a private version.
Figure 133: Smart Predict - Save the Results to the Planning Model
After analyzing the results in a story, the values can then be published to a public version.
Additional Information
For more information regarding on predictive modeling, go to the Applying AI-powered
Augmented Analytics to Business Data in SAP Analytics Cloud learning journey, where we
explore augmented analytics, including time series predictive models.
LESSON SUMMARY
You should now be able to:
● Use predictive analytics for planning.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Simulate and forecast with value driver trees.
You use value driver trees to take a driver-based approach to planning, where you identify key
driver values and models their impact on top-level metrics.
Drivers
The drivers are usually figures that you can influence directly, like product prices, headcount,
or travel expenses. They could also be external factors such as tax rates or raw material
costs. Say you’ve modeled how these factors will impact the value of your business, for
example, net revenue, gross margin, and total expenses.
In this case, you’ll need to see how value flows through your model. Like a table, a value driver
tree shows numeric values, and supports data entry so that you can adjust the plan.
Value driver trees also show hierarchical links between different values, and how the values
are interconnected. For example, if you increase marketing expenses, you’ll expect your
overhead costs and your sales volume to increase. In turn, you’ll see an increase in your sales
revenue, and the cost of goods sold. A value driver tree lets you visualize these different links
and see how your changes affect the bottom line.
Key Points
Value driver trees are available for planning models and analytic models only. They aren't
available for live models.
Value driver trees can be built based on formulas in the account dimension.
Value driver trees can be based on account dimension hierarchies or member formulas.
5. Choose OK.
Just remember that value drivers trees can't be used in other value drivers trees.
Note:
Both planning and BI customers can create value driver trees and enter data in
them, however, only customers with planning licenses can publish changes to a
version.
Date filters: The value driver tree uses a presentation date dimension to set the periods that
display in each node. By default, it's the planning date dimension. You can only change its
filter for the entire value driver tree, not for individual nodes.
The filter is optional, but you'll usually want to include it. It filters the values for each node, and
it determines the time granularity and which periods are displayed for each node unless you
specify a Presentation Date Range too.
Default Node
The Default Node is used to provide calculations and filters to all nodes in the value driver tree.
You can add your own calculated and restricted measures.
Settings are available for individual nodes, as well as the default node configuration that
applies to all nodes. If you're adding nodes manually, start with the default node configuration,
and then add nodes and change their settings as needed.
Note:
Node-Specific Formula
You can also create node-specific calculations in your Value Driver Tree.
You can display the same cross calculations in all nodes, or change individual nodes. For
example, all nodes show measure values, but the top-level node that shows both measure
values and delta values.
Linking Nodes
Nodes in value driver trees maintain their relationships based on the underlying account
formulas. Based on the underlying formulas, you can display parent and child nodes for any
specific node.
There are two ways to add and set up nodes: manually or automatically based on the account
hierarchy and calculation structure in the model.
Note:
It isn't necessary to include a table widget on the same model in the story to
access Version Management, Version History, or when using a simple push button.
Multiple Versions
Nodes in value driver trees can display multiple versions. Also, the nodes can display versions
based on input controls.
If needed, you can display the same KPI in multiple nodes but with a different data region such
as version.
Note:
Currently, the new model doesn't support value driver trees.
LESSON SUMMARY
You should now be able to:
● Simulate and forecast with value driver trees.
Learning Assessment
X True
X False
X A Analytic application
X B HANA PAL
X C Data table
X D Planning model
3. What are the models in advanced options when running a predictive forecast?
Choose the correct answers.
X A Moving average
X B Linear regression
X C Gamma model
X D Automatic forecast
X True
X False
X True
X False
X A Analytic application
X B HANA PAL
X C Data table
X D Planning model
A Predictive Forecast requires a data table that uses a planning model as a data source.
3. What are the models in advanced options when running a predictive forecast?
Choose the correct answers.
X A Moving average
X B Linear regression
X C Gamma model
X D Automatic forecast
Linear regression and automatic forecast are included in the advanced options.
X True
X False
Lesson 1
Auditing Planning Data 187
Lesson 2
Validating Planning Data Input 189
Lesson 3
Implementing Data Locking for a Model 199
Lesson 4
Using Calendar Processes 207
UNIT OBJECTIVES
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Audit planning data.
You can filter the audit report by: Audit Time, Audit User, Audit Action, and other model
dimensions.
● Download to Microsoft Excel.
● Delete data.
Records can be manually deleted from the data audit table. There's no option to delete
data automatically based on age.
Imported data appears in the Signed Data Old column. Let's use the example of 225,000. If
the user inputs 230,000, it appears in the Signed Data New column and the difference of
5,000 appears in the Signed Data Delta column. In the Audit Action column, the change is
shown as a Modify audit action. Any data in a public version that is copied via version
management appears as a New audit action.
LESSON SUMMARY
You should now be able to:
● Audit planning data.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Validate planning data input.
In planning models, you can define valid combinations of dimension members that control
data entry and derivation.
Validation rules define allowed member combinations to prevent improper data entry. For the
dimensions you define in a validation rule, only the member combinations that you specify as
allowed combinations can pass validation.
Validation rules require dimensions with properties that refer to other dimensions in the
model.
Note:
If the property is used as a column in the data table, the Add Member and
unbooked data options are disabled.
2. Map members from one dimension to the property values in a reference dimension.
● You can't use system properties, only custom properties are supported.
● All values of the property are available as dimension members in the matched dimension.
Otherwise, you'll receive an error or warning message asking you to check and maintain
the dimension's master data.
2. Enable the Reason for unplannable data message for invalid combinations.
Bottom-up Scenario
Bottom-up concept:
2. Company code and profit center values are derived from the validation rules.
In the following example, you can see that when data is entered for Cost Center CC100_1000,
then Company Code 1000 and Profit Center PC100 are derived based on the validation rule
and posted to the model.
Note:
When new members are added in the story, you can select property values for
them, and the system will then update the validation rules in the background.
If the planners disaggregate the values in such a story, booked data has a higher priority than
unbooked data:
● If the planners disaggregate a value to both valid and invalid booked data, the value will
only be disaggregated to the valid booked cells.
● If the planners disaggregate a value to both valid and invalid unbooked data, the value will
only be disaggregated to the valid unbooked cells.
● What happens if the planners disaggregate a value to invalid booked data and valid
unbooked data? The value will be disaggregated to the booked invalid cells and an error
message will inform you that the disaggregation failed.
Note:
● Data actions don't check for validation rules, however while publishing the data,
validation rules are checked for data correctness, and invalid records won't be
saved.
● Data imports don't check for validation rules.
● Validation rules are updated when the member properties are updated.
Invalid / posted data will display a warning: Data Changes not Allowed. Due to
validation rules, any data changes in this cell except deleting data will be
reverted when you publish data entries.
Figure 155: A Property Value Changes and the Data Needs Realignment
In the story, if a value is changed for the invalid combination, a warning icon appears with the
message:
.
When using validation rules, any property value changes will be automatically updated and
existing data with invalid combinations will have a warning in the stories.
LESSON SUMMARY
You should now be able to:
● Validate planning data input.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Configure and use data locking to control data access in a model.
● Use data locking to control data access in a story.
1. Data Locking Owner: This property is created in the Organization dimension when data
locking is enabled. The Owner property requires either teams or users, or both.
2. Person Responsible: The Person Responsible property is used to determine the owners.
Users here can be inherited from the Owner property.
3. Reviewer: This is not used in data locking (it can be used in a calendar process).
5. Set Locks
Select Show Grid to display a grid of the driving dimensions where you can set the lock state
of each intersection:
● Open: Values are unlocked for this combination of members in table, and can be changed
by any users who have permissions to enter values for the model.
● Restricted: Values can be changed only by a user who has effective ownership of locks on
this combination of members. Select the restricted cell and select Add Owner under a
driving dimension and choose one or more owners for the selected member of that driving
dimension.
● Locked: Values cannot be changed for this combination of members in a table.
When you change the state for a parent member in a dimension, the same state is applied to
its children as well. For example, if you lock North America, then the United States and
Canada will also be locked.
You can limit the size of the planning area by using data access control, data locking, or both.
This corresponds to the recommended planning area that decreases the size of a private
version size when you create it based on data access and data locking.
● Data access restrictions give you access to the data for which you have write access.
● Data locking restrictions give you access to the data regions that are unlocked. When you
edit a public version, or create a private one, the application stores a reduced data
snapshot but still shows locked data outside of that snapshot.
When working with a public version in a story, the planning area filters the data based on what
data you've permission to edit. Only data that you've edit permissions for will be put into edit
mode. When creating a private version, you have the option to copy the recommended
planning area to the private version. Data actions and multi actions only affect data within
your planning area.
Planning areas can be tested in the training system with the Process Control model:
● Enable the planning area in the model preferences.
● In a story, set a data lock for forecast data for 2025 and all entities except one such as the
Midwest.
● Right click on the Midwest → Version → Start edit mode → Choose Recommended
Planning Area → Start.
● Go to Version Management → View the details for the Forecast/Edit Mode entry. The
planning area should be limited to Midwest but not the other entities.
● In Version Management → Hove on Edit Mode (Limited) → Go to ...More → Revert →
choose OK to exit edit mode.
● If a copy data action is run for other than the Midwest, there will be an error.
1. Data Disaggregation: The data disaggregation settings provide more control over how
values are spread from parent members to leaf members. Enabling the following options
will change how data disaggregation will occur and prevent disaggregation to those locked
(by data locking) or invalid (due to relationship validation) leaf members that would
otherwise normally receive values.
Note:
Data locking can be used with advanced filtering.
Owner Access
If a user is logged on as the owner, they can change Restricted data.
If a user is logged on as a non-owner:
● Assuming they have the Planner Reporter role, they can’t change the data lock status.
● They can set the cell to ignore data locks and change the data but they can't publish it.
In order to use data locking, non-owners require a role that includes Read access to the Data
Locking activity (in a role).
Additional Information
Visit the SAP Help Portal for more information on Permissions.
LESSON SUMMARY
You should now be able to:
● Configure and use data locking to control data access in a model.
● Use data locking to control data access in a story.
LESSON OBJECTIVES
After completing this lesson, you will be able to:
● Configure and run calendar processes.
1. Due dates: When due dates are exceeded, the tasks retain the In Progress status by
default. Alternatively, tasks can be set to discontinue when due dates are exceeded.
2. Approval levels: To use multiple approval levels, simply add more reviewer rounds. After
the Round 1 reviewer approves a task, then it rolls onto the next reviewer and so on.
There's no limit to the number of reviewer rounds.
3. Create tasks to track the process: Use the SAP Analytics Cloud calendar to create review
tasks. These tasks let you assign someone who will check the work result of another task,
for example, like a general task or a process.
● You can create a review task to let one or more assignees check the work result of
another calendar event.
● You can assign tasks to colleagues who don't have SAP Analytics Cloud accounts.
Simply use their email address and they’ll receive information on how to get an
account.
4. Tracking: Processes can be for you to track tasks or you can assign them to other users.
You can have assignees, reviewers, and viewers for a task.
● When you are creating a task, you can add a viewer (Shared with) to all tasks of a
Calendar process simultaneously.
● As a task viewer, you have an overview of all tasks that are shared with you in the
calendar.
● In tasks with review steps, people who review the work results are called reviewers.
They’re added as assignees when the task is being created.
Generating Events
Generate Events with the Wizard
After the process is created, you can generate events by region for example.
Select the model with an organization type dimension. The organization type dimension
becomes the Driving Dimension because it's used to select the members. An event is
generated for each member.
The Driving Dimension hierarchy is used to burst the tasks by region. When the process is
created, tasks are activated automatically.
Figure 168: Step 3 - Event Types (General Task and Review Tasks)
In the Event Types step, you can generate general, review, and data locking tasks
automatically. This reduces manual setup work.
Event types:
● General Task and Review Tasks: Create a general and review task for each leaf member.
● Composite Task: Create at least one composite task for each leaf member. This option can
still require a reviewer to approve or reject the task, but the review task won't be visible in
the calendar.
● Add Data Locking Tasks: Create data locking tasks before or after a general task and after
all tasks. For example:
- Before General Task: When the process is started for an entity, the data lock is opened
for the same entity.
- After General Task: When the general (dependent) task is submitted for an entity, the
data is restricted for the same entity. When the general task is approved, its status is
100% Successful.
- After All Tasks: When the preceding review task is partially successful, or successful,
the data lock is triggered.
● Create a process for groups of tasks: Create a task group made up of general, review, and
data locking tasks.
Note:
The example in the preceding image generates five events per region. If
Composite Task is selected and no data locking tasks are added, then only one
event per region is generated.
The Driving Dimension also contains the Person Responsible and Reviewer properties.
Note:
In the Entity dimension, custom properties can be used to determine Assignees
and Reviewers. You can assign multiple users and teams (separated by semi-
colons) to custom properties. The Person Responsible property can also be used
to determine Assignees and Reviewers. However, only one person can be assigned
to the Person Responsible property.
In Additional Settings, you configure the naming rules. In the preceding example, the Event
Name consists of a prefix that matches the process name and the description of the Driving
Dimension members. You can also add suffixes for the Before General Task, After General
Task, and After All Tasks.
The Driving Dimension determines the assignees and reviewers. Any property with user IDs
can be used to identify the assignees and reviewers.
While assignees are required in a task, reviewers are optional.
The resulting events are displayed in the following image.
Data locking tasks can be used as part of a process and in that way, the process becomes
more complete. Data locking tasks can also be used as standalone tasks.
Note:
Data locking tasks are the only tasks that require a planning model in the Process
Context.
1. Input Data: This is a general task type. The user will submit this task.
2. Run Data Action: Dependent on the Input Data task. This task runs automatically.
3. Review: Dependent on Run Data Action task. The user approves or rejects this task.
Once complete, you submit it. The Run Data Action task to copy data from January to
February - December is automatically triggered because it's a dependent task. A notification
is sent to the reviewer that there's data to review.
Discussion
You can discuss the work progress on your process or tasks directly in the calendar. From the
panel, choose Open discussion in the heading section, opening the Discussions panel. Here,
you'll find everyone assigned to your process listed, and you can start a new discussion.
In this example, you can see that the Discussion icon is highlighted for a data locking task.
In this example, clicking the Work File will launch the story for the entire process. However,
clicking individual tasks, for example Midwest will open a story that is restricted via a story
filter for that task.
Note:
You can find all work files of a task or a process in the header section. In addition
to stories, you can add URL links as work files to your tasks or processes. For
example, you want to add a link to a custom web application or an SAP Analysis
for Microsoft Office document (workbook or presentation).
Notifications
You'll be notified in SAP Analytics Cloud of any pending tasks, however, you'll also receive an
e-mail notification that includes a link to the task.
Reopen Events
Owners of calendar events can reopen events that have been accomplished, partially
accomplished, or canceled. For example, as owner of large planning processes, you can
follow-up on issues with finished child processes or tasks and reopen them.
LESSON SUMMARY
You should now be able to:
● Configure and run calendar processes.
Learning Assessment
1. Data audit reports include the time stamp, user, previous value, new value, and delta value
for data changes.
Determine whether this statement is true or false.
X True
X False
X A Comments
X B Calendar
X C Story
X D Version
X True
X False
X A Calendar
X B Model
X C Story
1. Data audit reports include the time stamp, user, previous value, new value, and delta value
for data changes.
Determine whether this statement is true or false.
X True
X False
Data audit records the time stamp, user, previous value, new value, and delta value
whenever there is a data change.
X A Comments
X B Calendar
X C Story
X D Version
Comments are used to document planning assumptions. In the calendar, you can create a
task for another user.
X True
X False
Reviewers are optional. They are only needed when approvals are required.
X A Calendar
X B Model
X C Story