Skip to Content
Author's profile photo Matthew Shaw

SAP Analytics Cloud: Scheduling CSV/XLSX data and importing new master data

This blog addresses two common questions with regards to modelling data in SAP Analytics Cloud based off csv/xlsx file data.

  1. How do you schedule file uploads into the SAP Analytics Cloud?
  2. How you do upload new master data into your model, once you’ve already created your model and already added master data into it?

Put simply you need to use the SAP Analytics Cloud Agent to upload the data in a ‘scheduled’ way, though you can also use the ‘run once’ option.

This blog provides a step by step guide for how I achieved this.

[UPDATE March 2017: We plan to introduce a feature in wave 2017.03 that means new master data can also be updated for all workflows. Today, new master data requires the use of the SAC Agent, however we plan from wave 2017.03 that this is no longer necessary and that you’ll be able to update master data when you directly upload an updated XLS/CSV file from your computer]

Step 1: SAP Analytics Cloud Agent

Assuming the HANA Cloud Connector has already been installed and configure you need to configure the SAP Analytics Cloud Agent as per the SAP Analytics Cloud instructions Help> Connections > Import Data Connection > Allowing Data Import from File Server

I set the Java Options environment variable

-DSAP_CLOUD_AGENT_FILE_SERVER_WHITELIST_PATH

to have the value:

E:\csv\Whitelist.txt:

I then set the

SAP_CLOUD_AGENT_FILE_SERVER_WHITELIST_PATH

variable to have the same value

E:\csv\Whitelist.txt

As I’m using Windows I did this in the System Properties>Environment Variables:

I created a 2 folders:

  • E:\csv
  • E:\csv\data

I placed into the E:\csv folder a text file (of UTF-8 format) called ‘Whitelist.txt’ which contained:

E:\csv\data

This means the E:\csv\data folder is ‘white listed’. Any files in this folder (and sub folders) can be read by the SAP BusinessObjects Cloud.

I then restarted the SAP BusinessObjects Cloud Agent.

Step 2: SAP Analytics Cloud Connection

Before we can create a model off a CSV/XLSX file held on E:\csv\data we need to setup a connection.

So I logged into the SAP Analytics Cloud and selected ‘Connection’ from the menu option:

When I then clicked on the ‘+’ and selected ‘Import Data Connection’ I was then able to select the option ‘File Server’. This option was only shown because I had completed step 1 above.

Having selected ‘File Server’ I was then able to complete the following dialogue:

Step 3: SAP Analytics Cloud Model

Having created the connection to the File Server, I can now create a model. However, I first placed a xlsx file into E:\csv\data called Matthew.xlsx to based the model off. The file contained the following data:

I selected ‘Create > Model’

And I then selected the option ‘Import a file from your computer’

Because I had completed step 1 above I was able to select the option ‘File Server’.

Because I had completed step 2 above I was able to select the ‘File Server on BOC’ connection:

I could then pick my Matthew.xlsx file and click Import:

The model was presented to me and I then clicked ‘Create Model’:

Step 4: SAP Analytics Cloud Story

I then created a very simple story off this model by selecting Create > Story:

There are lots of ways to do this, but I selected ‘Add a Canvas Page’:

Then I added a chart:

And I selected the model ‘Matthew’ and pressed ok.

I added the measure and dimension to form my bar chart:

Notice that the master data for the dimension has values A, B, C and D.

I then saved the story. Later we shall re-open this story to see new values added to it.

Step 5: Reload SAP Analytics Cloud Model with new data

Now I want to upload new data into my model. So I updated the E:\csv\data\Matthew.xlsx file with the following values:

I clicked on ‘Browse > Models’:

The master data for my model currently contains the dimension values A, B, C and D.
If the master data in my updated file is the same as the master data in my model, then I could import new records, including new values, by clicking on ‘Import Data’ – ‘Import Data From File’

And again I can use my Connection to the file share to import the file again:

However, the master data has changed. There are new values: E, F, G and H in my file that I want to upload into my model. So I must upload this new master data via a different means.

On the model list, I clicked on ‘View More’:

I could then click on ‘Run’:

After a few moments the data loaded successfully and the display changed to:

I could optionally double-click on the Import which takes me to this screen:

From here I can setup a schedule and chose different import settings.

[Update November 2017: Hourly schedules can now be selected]

Step 6: Open existing Story

I then opened my story I created in step 4 and was able to see the model was updated with new master data. The dimension has additional values E, F, G and H:

Important bits!

  • To upload new master data (i.e. new dimension values) then you must do so via the SAP Analytics Agent in a ‘schedule’ means (either ‘Run’ [once] or on a scheduled basis)[UPDATE: March 2017. We plan from wave 2017.03 that this is no longer necessary. We plan, that you’ll be able to update master data even when you upload a file directly from your computer. You’ll need to use the ‘model options’]
  • The filename needs to remain the same for all subsequent uploads.

 

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Henry Banks
      Henry Banks

      Nice piece of work Matt, thanks for putting this together !

      Author's profile photo Iver van de Zand
      Iver van de Zand

      a document we were waiting for quite a while ... superb !!

      Author's profile photo Former Member
      Former Member

      Hello guys,

      Is it possible to import data from a connection (SQL, File, etc.) to update just a local (public) dimension?.  What I want to accomplish is to be able to update the dimension without uploading the entire  model (facts and all). Another option would be to schedule an update on a single dimension for a model.

      Best!

      Ricardo

      Author's profile photo Former Member
      Former Member

      I have the same problem if you manage to update the dimension without loading the entire model plis let me now

       

      Author's profile photo Lakshmikanth Adharapurapu
      Lakshmikanth Adharapurapu

      Hi Mathew,

      Currently i am uploading the data using file server with out any issue, i have requirement to append with new field in the file, can i directly schedule the file server or do i need to change the model manually with new field?

       

      How can we handle appended fields?

      BR,

      Lakshmikanth

       

       

       

      Author's profile photo Cengiz Cengiz
      Cengiz Cengiz

      Man thanks Matthew,

      great documentation!

      Cengiz

      Author's profile photo Matthew Shaw
      Matthew Shaw
      Blog Post Author

      Thank you Cengiz