Introduction
SAP Analytics Cloud allows to create models analytics and planning stored in SAC. Models are based on measures and dimensions. Dimensions can be public or private.
In case of private dimensions you may have the requirement to synchonize dimension members between local dimension. E.g. in case you have a backup model members of local dimensions must be synched with the source data model to ensure all data can be backed up.
This blog shows what´s neccessary for it. However, this technique can be used for other scenarios, e.g. like loading master data from SAC productive system to SAC test system.
Step-by-Step Guide
- Create OAuth Client
- Determine Data Service URL
- Create a connection
- Prepare version in target data model
- Create Import Job
Create OAuth Client
- Go to System / Administration / App Integration
- In section OAuth Clients click "+ Add a new OAutClient"
- Dialogue "New OAuth Client"
Purpose: API Access
Access: Data Export Service
Authorization Grant: Client Credentials
Click "Add" - Make sure to copy and collect generated OAuth Client ID and Secret (by clicking "Copy secret")
- Copy and collect the Token URL in section "OAuthClients" for later
https://<yoursystem>.hana.ondemand.com/oauth/token

Determine Data Service URL
- Open the source data model with the local dimension where you want to load members from
- Remember string after last / in the URL. It´s the unique data model ID.
- The Data Service URL is
https://<your system>/api/v1/dataexport/providers/sac/<data model ID>/
- You can enter the Data Service URL in the browser which should show a list of dimensions of data model in JSON format
Create a connection
- Go to Connections
- Click + to add a new connection
- Select "OData Services" from the list
- In dialogue "New OData Services Connection"
Don´t check "Connect to an SAP Odata service" (yes, it´s strange but when checking it, it didn´t work)
Enter Data Service URL from above
Authentication Type: OAuth 2.0 Client Credentials
Enter collected information: OAuth Client ID, Secret, Token URL - Click Create

Prepare version in target data model
It´s not possible to configure an import job for a local dimension. Because of this we import fact data into the prepared version of the target data model and update local dimension members in the target model.
- Open the target data model
- Open dimension Version
- Create a new version e.g. "LocalDim"
Create Import Job
- Open target data model with local dimension with dimension members you want to synchronize
- Switch to Data Management of the data model
- Create a new Import Job
- Select "OData Services" as data source
- Select Connection created above
- Select the local dimension where you want to import data from
Remark: You also can load master data from public dimensions or fact data from the source model. - Select ID, Description and attributes you want to load
Remark: It´s not possible to load hierarchy! Only attributes can be loaded. - Setup your import
- Prepare Data
Create new Custom Expression with formula like [Value]=1

- Map to Facts
Map Version to prepared version (e.g. "LocalDim")
Map Value to a measure or your choice
Map ID to Local Dimension
Map all other dimensions to fixed value # or fixed date

- Job Settings
Open Job Settings (wrench icon) and make sure option "Update Local Dimension with New Members" is checked - Map Properties
Assign attributes from data source to attributes of target dimension

- Validate Import
- Run Import
After running the import you should find all local dimension members from the source model in the target model (deletion of dimension members is not supported).
Conclusion
Data can be exposed by the Data Export Service and loaded into same or other SAP Analytics Cloud system by creating an OData connection and an import based on it.