Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
JonGooding
Product and Topic Expert
Product and Topic Expert
1,873

Recently we had a Customer request to bring Microsoft Lists into Datasphere.

The SAP Open Connectors is the closest option, but does not provide a Microsoft Lists capability:

openconnectors.png

The quickest option was to use Microsoft Power Automate to extract the Microsoft Lists contents and export it to a csv file on Azure, from which could then be imported into Datasphere using Data Flows. 

The following is the process we went through to achieve this:

Access the Microsoft Lists location. 

Locate the List Location on Sharepoint, so you know how to navigate to it via Power Automate.

For context, I have created a separate list dataset not related to the Customers data as follows:

issueexample.pngOpen Microsoft Power Automate.

1_powerautomate.png

My environment is via: https://make.powerautomate.com/

Create a new Flow from Blank

2_pa_blank.png

In our scenario, we used a schedule. Which then made it easy to allow the subsequent Dataflow, also run on a schedule to allow frequent updates.

3_create.png

Once you have a new Flow created, and the reoccurance is setup. Search for "get items" and select the Sharepoint option.

4.png

 Once you have selected the Get Items, using the drop down on the Site Address - Select the Address for the List Location used above. The also select your list name:

5.png

Next add a Select 

6.png

This is where Power Automate has some limitations and needs some trial and error around what you have as your list fields. Simple text is easy, but when it comes to lookups and multiple values some tweaking needs to be done.

7.png

This is an initial view of the mapping. Note you need to add them all manually. I hope your list is not too wide. I have just picked the columns I am interested in, and have some of the complexities. 

Also with Power Automate - the addition of the Fow Each loop - is really slow, this comes in for each multi select field - Choice in my example. So changing this to an expression:

join(xpath(xml(json(concat('{"body":{"value":', item()?['Choice'], '}}'))), '/body/value/Choice/text()'), ', ')

8.png Next we create a csv table to write it to the file store:

9.png

The CSV table generation just uses the Output from the Select:

10.png

 

Next we write directly to the Azure blob store. The connection setting is simply how you connect to your Azure Blob store. 

11.png

Finally, Save the Flow and Test it, the go to the Run Flows page 

12.png

13.png

If you have access, you can view the file in Azure Portal:

14.png

Now in Datasphere, assuming you have created a Space. Using a connection to Azure Data Lake Storage Gen2:

15.png

Finally, in the Data Builder, create a new Data Flow and connect to the ASDL Storage and simply bring the file into Data Flow and then create a target table to get populated.

16.png

Then you can deploy it, schedule it as needed based on the Power Automate schedule. 

From here, you can use the Microsoft List data in your Datasphere instance and blend as needed.

4 Comments