Files
2025-11-30 08:55:30 +08:00

12 KiB

SAP Analytics Cloud - Data Actions and Multi Actions Reference

Source: https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/69a370e6cfd84315973101389baacde0.html Last Updated: 2025-11-22


Table of Contents

  1. Data Actions Overview
  2. Data Action Step Types
  3. Multi Actions Overview
  4. Multi Action Step Types
  5. Parameters Configuration
  6. Execution Methods
  7. Performance Best Practices
  8. Troubleshooting

Data Actions Overview

Data actions perform calculations and data manipulation on planning models. All steps within a data action run on a single transaction - if any step fails, all changes roll back.

Key Characteristics

  • Single Model: Data actions operate on one target model
  • Single Version: All steps target one version
  • Transaction: All-or-nothing execution
  • Rollback: Automatic rollback on failure

Creating a Data Action (020-create-data-action.md)

  1. Files → Create New → Data Action; choose target planning model.
  2. Add steps (copy/cross-copy/allocation/embedded/conversion/advanced formulas) in needed order.
  3. Set parameters (member/number/measure); enable sorting if many prompts.
  4. Choose write mode per step (append vs overwrite); validate mappings to leaf members.
  5. Save, test on small slice, then schedule/run via starter or calendar.

Data Action Step Types

1. Copy Step

Copies data from source to target with dimension mapping.

Configuration:

Source Scope:
  Version: Actual
  Year: 2024
  Account: All

Target Scope:
  Version: Budget
  Year: 2025
  Account: All

Dimension Mapping:
  Account → Account (same member)
  CostCenter → CostCenter (same member)
  Year: 2024 → 2025 (fixed mapping)

Use Cases:

  • Copy actuals to forecast
  • Seed budget from prior year
  • Copy between models

2. Advanced Formula Step

Write custom formulas using SAP Analytics Cloud formula syntax.

Formula Syntax:

// Basic assignment
[Account].[Revenue] = 1000000

// Reference other members
[Account].[Gross_Profit] = [Account].[Revenue] - [Account].[COGS]

// Conditional logic
IF [Account].[Revenue] > 0 THEN
    [Account].[Margin] = [Account].[Gross_Profit] / [Account].[Revenue]
ELSE
    [Account].[Margin] = 0
ENDIF

// Cross-version reference
[Version].[Forecast] = [Version].[Actual] * 1.05

// Time-based calculations
[Date].[2025.Q1] = [Date].[2024.Q1] * (1 + [Account].[Growth_Rate])

// RESULTLOOKUP for unmatched dimensions
[Account].[Allocation] = RESULTLOOKUP([Account].[Driver], [CostCenter].[TOTAL])

Operators Available:

  • Arithmetic: +, -, *, /
  • Comparison: =, <>, <, >, <=, >=
  • Logical: AND, OR, NOT
  • Functions: IF/THEN/ELSE/ENDIF, RESULTLOOKUP, MEMBERSET

3. Allocation Step

Distribute values based on driver data.

Configuration:

Source:
  Account: Overhead_Costs
  CostCenter: CORPORATE

Target:
  Account: Allocated_Overhead
  CostCenter: All leaf members

Driver:
  Account: Headcount
  CostCenter: All leaf members

Method: Proportional

Allocation Methods:

  • Proportional: Based on driver ratios
  • Equal: Divide equally
  • Fixed Percentage: User-defined %

4. Currency Conversion Step

Convert values between currencies.

Configuration:

Source Currency: Local
Target Currency: Reporting (USD)
Rate Type: Average
Rate Date: Current Period

5. Embedded Data Action Step

Call another data action from within this action.

Use Cases:

  • Reuse common calculation logic
  • Break complex processes into modules
  • Maintain single source of truth

Important: Parameters from embedded action must be mapped or set.


Multi Actions Overview

Multi actions orchestrate multiple planning operations across models and versions. Unlike data actions, multi actions can span multiple models and don't run in a single transaction.

Key Characteristics

  • Multiple Models: Can operate across models
  • Multiple Versions: Can target different versions
  • Independent Steps: Each step is separate transaction
  • Partial Success: Earlier steps persist if later steps fail

Creating a Multi Action

  1. Navigate to FilesCreate NewMulti Action
  2. Add steps in desired sequence
  3. Configure parameters
  4. Link parameters to steps
  5. Save and test

Multi Action Step Types

1. Data Action Step

Executes a data action with specified parameters.

Configuration:

  • Select data action
  • Map parameters from multi action to data action parameters
  • Or set fixed values

2. Version Management Step

Publishes a planning version.

Configuration:

  • Select model
  • Select version to publish
  • Use parameter or fixed value

Actions:

  • Publish (merge private to public)
  • Publish As (create new public version)

3. Predictive Step

Runs predictive forecasting scenario.

Configuration:

  • Select predictive scenario
  • Set forecast periods
  • Configure target version

Predictive Types:

  • Auto (automatic algorithm selection)
  • Triple Exponential Smoothing
  • Linear Regression

4. Data Import Step

Import data from SAP sources.

Supported Sources:

  • SAP S/4HANA
  • SAP BW
  • SAP Datasphere
  • Other configured connections

5. API Step

Call external HTTP APIs.

Configuration:

URL: [https://api.example.com/endpoint](https://api.example.com/endpoint)
Method: POST
Headers:
  Content-Type: application/json
  Authorization: Bearer {{token}}
Body:
  {
    "planningCycle": "{{PlanningCycle}}",
    "region": "{{Region}}"
  }

Use Cases:

  • Trigger external workflows
  • Send notifications
  • Integrate with third-party systems

6. Data Locking Step

Lock or unlock data slices.

Configuration:

  • Select model
  • Define data slice (dimensions/members)
  • Set target lock state (Locked, Restricted, Open)

7. PaPM Step (2025+)

Run Profitability and Performance Management calculations.

Configuration:

  • Select PaPM function
  • Set input parameters
  • Configure output mapping

Parameters Configuration

Parameter Types

Type Description Available In
Member Select dimension member Data Actions, Multi Actions
Number Enter numeric value Data Actions, Multi Actions
String Enter text value Multi Actions (2025+)
Datetime Select date/time Multi Actions (2025+)

Creating Parameters

In Data Action:

  1. Open data action
  2. Click Parameters in toolbar
  3. Add parameter with name and type
  4. Reference in steps: {{ParameterName}}

In Multi Action:

  1. Open multi action
  2. Click (Available Parameters)
  3. Select Create Parameter
  4. Configure and use in steps

Cross-Model Parameters

When using public dimensions shared across models:

  1. Create parameter based on public dimension
  2. Check Cross-Model Parameter option
  3. Parameter value applies to all steps using that dimension

Parameter Assignment

Member Selection: User picks from dimension Default Value: Pre-set value Story Filter: Uses current story filter Input Control: Links to story input control


Execution Methods

From Story/Application

Button Trigger:

// In button onClick event
DataAction_Budget.setParameterValue("Year", "2025");
DataAction_Budget.execute();

On Data Change:

// In onResultChanged event (use carefully)
if (shouldRecalculate) {
    DataAction_Calc.execute();
}

From Calendar

  1. Create Data Action Task or Multi Action Task
  2. Attach to planning process
  3. Schedule execution date/time
  4. Assign responsible user

Scheduled (Background)

  1. Open Calendar
  2. Create Scheduled Task
  3. Select data action or multi action
  4. Set recurring schedule (daily, weekly, etc.)

API Execution

// Execute synchronously
DataAction_1.execute();

// Execute in background (non-blocking)
DataAction_1.executeInBackground();

// With status callback (in onExecutionStatusUpdate event)
// Handle: Running, Success, Failed, Cancelled

Performance Best Practices

1. Scope Reduction

// BAD: Process all data
Source: All Years, All CostCenters, All Accounts

// GOOD: Use parameters to limit scope
Source: Year = {{SelectedYear}}, CostCenter = {{SelectedCC}}

2. Input Control Linking

Link data action parameters to story input controls:

  • Reduces processed data volume
  • Improves execution time
  • Better user experience

3. Embedding for Same Model

When multiple data actions target same model/version:

  1. Create container data action
  2. Embed related actions as steps
  3. Runs as single transaction (faster)

4. Multi Action Optimization

// Instead of:
Multi Action with 5 separate data action steps on same model

// Use:
Embedded data action containing 5 steps
+ Multi Action with 1 data action step

5. Avoid Unnecessary Steps

  • Remove debugging steps before production
  • Consolidate similar calculations
  • Use RESULTLOOKUP instead of multiple copy steps

6. Tracing for Debugging

Enable Tracing Table during development:

  1. Run data action
  2. Check "Show Only Leaves" option
  3. Review cell-by-cell results
  4. Disable before production deployment

Troubleshooting

Common Errors

"No data to process"

  • Source scope returns no data
  • Check dimension filters
  • Verify source version has data

"Target version is locked"

  • Data locking preventing writes
  • Check lock state and owners
  • Use appropriate version

"Parameter value required"

  • Missing parameter value
  • Set default or make optional
  • Check parameter mapping

"Formula syntax error"

  • Check operator syntax
  • Verify member IDs
  • Use dimension/member browser

"Timeout exceeded"

  • Scope too large
  • Add filters to reduce data
  • Consider background execution

Debugging Steps

  1. Check Source Data

    • Verify data exists in source scope
    • Test with smaller scope first
  2. Review Tracing

    • Enable tracing table
    • Check intermediate results
    • Identify failing step
  3. Test Parameters

    • Run with hardcoded values first
    • Then add parameters one by one
  4. Check Permissions

    • User must have write access to target
    • Version must be writable
  5. Review Logs

    • Check browser console for errors
    • Review data action execution log

Example: Complete Planning Workflow

Scenario

Annual budget planning: Copy actuals, apply growth rate, allocate overhead

Data Action: Budget_Calculation

Step 1: Copy Actuals to Budget

Type: Copy
Source: Version=Actual, Year=2024
Target: Version=Budget, Year=2025
Mapping: All dimensions same

Step 2: Apply Growth Rate

Type: Advanced Formula
Formula:
[Account].[Revenue] = [Account].[Revenue] * (1 + {{GrowthRate}})
[Account].[COGS] = [Account].[COGS] * (1 + {{GrowthRate}} * 0.8)

Step 3: Calculate Gross Profit

Type: Advanced Formula
Formula:
[Account].[Gross_Profit] = [Account].[Revenue] - [Account].[COGS]

Multi Action: Annual_Planning_Workflow

Step 1: Data Action

  • Action: Budget_Calculation
  • Parameters: GrowthRate = {{GrowthRate}}

Step 2: Predictive

  • Scenario: Sales_Forecast
  • Periods: 12
  • Target: Version=Forecast

Step 3: Version Management

  • Action: Publish
  • Version: Budget
  • Model: Finance_Model

Step 4: Data Locking

  • State: Locked
  • Slice: Version=Budget, Year=2025

Documentation Links: