Skip to Content
Product Information
Author's profile photo Charlie Lin

See how SAP Analytics Cloud Multi Actions change the way that you do planning

Let me guess… You’ve experienced this before.

  • You got lost when you had to run several data actions on an SAP Analytics Cloud story. For example, you got forgot which data actions you ran and which ones you didn’t.
  • You wanted to execute certain logics automatically after publishing, but discovered that’s not supported. Instead, you had to select Publish Data first then select the data action trigger to execute the logics.
  • You wanted to run a cross-model copy, but you couldn’t add several cross-model copy steps to one data action when the target model was different.

I would like to share that we have just released a new planning feature: Multi Actions. This feature will help you overcome the situations listed above, and I believe it will boost your planning experience.

So 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 several data actions in sequence, publish versions, or both.An%20example%20of%20Multi%20Action%20Designer

An example of a multi action in the multi action designer

Data actions versus multi actions

If you are familiar with data actions and have played around with multi actions a little bit, you may find that multi actions and data actions are similar in some ways. They both consist of a sequence of steps that you set up in a separate designer. When they’re ready, users can run them in stories or analytic applications using a planning trigger.

However, the focuses are different.

Data actions

  • Focus on core planning calculation capabilities including data manipulation, advanced formulas, allocation engine, and currency conversion.
  • Data actions are a single SAP Analytics Cloud component which include the full design time for each supported calculation capability.
  • An individual data action result can only be applied to one model and one version.

Multi actions

  • Focus on the orchestration of various SAP Analytics Cloud components that can be tied together in a way that simplifies a task for planning users.
  • Multi actions don’t include the design time for any individual component, but instead focus on logically bringing the different components together into an end-to-end workflow and providing a specific or common context to execute against.
  • The execution scope can range across multiple models and versions.

Technology behind the scenes (optional to read)

I know some of you are still not convinced. You may wonder: why not extend the capability of data actions so they can execute across multiple models and versions? The answer is that the transaction data processing is fundamentally different between data actions and multi actions.

Data actions

  • The data engine behind data actions only allows one target model and one target version.
  • All data action steps run on a single transaction, which means that all changes roll back if any of the steps fail. So, in the Version History panel, you only see one change unless the data action result is published. Users can only revert the whole data action, even if the data action includes several embedded steps.

Multi actions

  • Multi actions leverage the planning process engine to orchestrate the execution of each data action step. Using this approach, the limitations can be overcome. Multi actions can handle multiple models and versions.
  • The transaction of each step is executed and committed separately. One step failure will not roll back the previous successfully executed ones (this will also allow more flexibility when we further enhance multi actions). In the Version History panel, you can see multiple changes, generated by each data action. Users have the chance to revert the results of each data action in the multi action.

When to use multi actions

Consider using multi actions if your planning process involves running data actions on multiple versions or models, or publishing data between data actions. Some typical scenarios are mentioned at the beginning of this blog article.

You can also refer this table to determine whether to use a data action or a multi action:

Use case Example Object type
Run a data action multiple times on the same version, and then publish it afterwards You want to run depreciation calculations on several fixed assets for a single budget version. Data Action or Multi Actions
Run data actions on multiple different target versions You plan on multiple versions simultaneously and you want to populate all of them with initial data. Multi Actions
Run data actions on multiple different target models You need to copy data from a strategic planning model to multiple models such as workforce, sales, and finance models. Multi Actions
Run a data action, publish data, and then run another data action You want to copy initial data to a version, publish it, and then run an advanced formulas calculation on the version to prepare for planning. Multi Actions

How to create a multi action

Let’s use the second scenario mentioned at the beginning as an example. In this example: a user adds data in a table. They publish the data, but they also want to execute advanced formula logic (for example, increasing the amount by 10%) automatically.

Let’s assume we already created a data action with advanced formula logic. (Again, multi actions don’t provide the design time for individual components, but instead focus on logically bringing different components together into an end-to-end workflow.)

Step 1: Open multi actions and create a new multi action

Open%20Multi%20Actions%20menu

Multi actions can be accessed from the side navigation

Step 2: Add a version management step

Add a version management step from the multi action designer

Step 3: Add a data action step

(Tips: If you will 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)

Add%20Data%20Action%20Step

Add a data action step to your multi action

Step 4: Save the multi action

The%20Multi%20Action%20is%20created

Your new multi action has been created

Step 5: Add a multi action trigger to a story

Add a multi action trigger from the planning trigger options

Step 6: Now…show time! Let’s see how multi actions work its magic.

User%20published%20data%202400%20and%20increased%20by%2010%25%20with%20single%20click

After triggering the multi action, the user published their data change and increased the amount by 10% with single click.

Further enhancements are coming soon to make multi actions even more powerful

We plan to integrate many SAC components in multi actions, such as smart predict, model data import and export, data locking, etc.

I hope you enjoy working with multi actions and leverage this feature to improve the planning experience for your business users. We are looking forward to your comments and would love to hear which features you want to bring into multi actions next.

Quick links

Assigned tags

      13 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Arvind Kumar
      Arvind Kumar

      Thank you for sharing this Article, I think this is very nice future. Hope sap will provide possibility to Add Input Prompt option while creating data action for cross Model copy. Currently cross model data action  support single Version without having possibility to setup Input Prompt. Then we can use Multi action to copy cross model data for several Version together and publish.

      Regards,

      Arvind kumar

      Author's profile photo Charlie Lin
      Charlie Lin
      Blog Post Author

      Hello Arvind,

      Thanks for your comments. Currently, cross model data action also supports to pick up values from input control or story filter. Can this meet your requirement of having possibility to setup input prompt?

      Best regards,
      Charlie Lin

      Author's profile photo Arvind Kumar
      Arvind Kumar

      Hello Charlie,

      Thank you for reply, I can not find option in  filter section for Input parameter in Cross model data action, In filter option its only allow to select one version. May be i am not updated here myself i worked on one Sac planning project 6 month back and there was no option setup input prompt in to cross model copy option. is it possible now to have story prompt filter in to cross model data action..?

      Regards,

      Arvind kumar

      Author's profile photo Charlie Lin
      Charlie Lin
      Blog Post Author

      Hello Arvind,

       

      Check out this help link. You will find out that data action can pick up parameters from input control. And yes you are right. For version dimension, it only allows one version selected, but for a generic dimension, you can choose multiple members.

      https://help.sap.com/viewer/DRAFT/b103a251020746f786ec0860fa51a63a/release/en-US/39e8fdc23889464da0705d8dfa459856.html

      Best regards,

      Charlie Lin

      Author's profile photo Jef Baeyens
      Jef Baeyens

      For the mentioned use case 2: "You plan on multiple versions simultaneously and you want to populate all of them with initial data."

      How can we run a data action on all versions? Because it seems I still need to select them one by one (hardcoded) in separately created data action steps, and need to update this manually every time a new version gets created.

      Author's profile photo Charlie Lin
      Charlie Lin
      Blog Post Author

      Hello Jef,

       

      Thanks for your comments.

       

      For a specific data action, it can only run on one target version. But with multi actions, you can add two data actions for example, you can specify different target versions.

      Regarding manually updating the version, actually you can define target version parameters in the multi action. When users trigger the multi actions from a story, users can choose the target version from member selector.  You don't have to hardcode the target versions in the multi action.

       

      Best regards,
      Charlie Lin

       

      Author's profile photo Jef Baeyens
      Jef Baeyens

      Ok, so on the first run: users need to select for example 50 versions that exist in the model. This actually needs 50 different version parameters & 50 data action steps because only single Cardinality is allowed.

      Next time users want to run the multi action, 57 versions exists (7 new versions were created).
      So how can we make this dynamic? How is multi-actions helping?

      Author's profile photo Charlie Lin
      Charlie Lin
      Blog Post Author

      Good question and thank you for raising this. It brings a new requirement that allow users choose multiple target versions as the parameter for a single data action step. Technically, multi action is responsible for executing the data action on each of the target versions. It is like a loop execution of the target versions that users choose. We will consider this in the future release. (So glad to receive the requirements from the comments)

      Author's profile photo Jef Baeyens
      Jef Baeyens

      Thanks Charlie!
      Glad to hear that, and would great to see more coming.

      Other considerations:

      • ability to use a Version model variable (e.g. current version = ForecastV12) that is re-useable in several multi-actions, story filters, etc. avoiding user selection.
      • ability to select a version (once) to execute calculations on several models. Currently that's impossible because version is always a local dimension and you have to select a version for each model.
      • ability to run for a property based selection: e.g. run for all forecast versions where forecast year = 2021.
      • if multi-actions for each version really executes like a loop, maybe nice to run calculations of several multi/data-actions in parallel (thread parallelism) to optimize performance
      Author's profile photo Charlie Lin
      Charlie Lin
      Blog Post Author

      Thanks for providing the additional inputs. Appreciate it.

      Author's profile photo Charlie Lin
      Charlie Lin
      Blog Post Author

      By the way, how many use cases where the same logic(data action) applies to different versions? My understanding is different versions normally needs slightly different logics, for example budget version is 10% higher than actual.

      The reason I am asking about this is if we enhance this feature,  we would only support the versions list are against the same data action. Otherwise, we would need to provide users a mapping function(e.g budget 1 goes to data action 1, budget 2 goes to data action 2)

      Author's profile photo Jef Baeyens
      Jef Baeyens

      I see many different use cases for both. Imagine several different budget rounds. Or imagine a data action is needed to reclass historical data across all budgets.

      Hoping to see that multiple version parameters (user prompts or dynamically defined) can be setup, with single or multiple cardinality. And in each data action step, we can choose which one to apply.

      Author's profile photo anita dhale
      anita dhale

      Hello Charlie,

       

      Very good article thank you very much for sharing!

      Best Regards,

      Anita