cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Anton_Sysoev
Level: Powered On

Create HTML table from Sharepoint List with multi-selection choose

Hi All!

I want to build an HTML table from a Sharepoint list and then paste it into an email.

Scrennshot2.jpg

The problem is that one of the columns in the Sharepoint list contains multi-selection. To extract value from multi-select I use the expression:

 

first(body('Get_items')?['Value'])?['Region']

 

Screenshot_1.png

But when I run a flow in a multi-select column I get the following:

 

[{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id":0,"Value":"Armenia"},
{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id":4,"Value":"Kazakhstan"},
{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id":5,"Value":"Kyrgystan"},
{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id":11,"Value":"Uzbekistan"}]

 

 

Screenshot_2.png

How to create HTML table in such a way that I see multi-select values in the corresponding column without additional information? In my case only Armenia, Kazakhstan, Kyrgyzstan, Uzbekistan without [{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id":0,"Value":  🙄

 

Thanks in advance
Anton
1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: Create HTML table from Sharepoint List with multi-selection choose

Hi @Anton_Sysoev,

 

In the Select action card you are already setting the initial value as "body('Get_items')?['Value']". 

 

When you set the Region field you should use: first(item()?['Choice'])?['Value']

But this will only show you the first "Choice".

 

Instead, You can try to use this expression: 

        

 

 

xpath(xml(json(concat('{"root":{"choices":', item()?['Region'] , '}}'))), '/root/choices/Value/text()')​

 

 

 
It should return all the values like: ["Armenia", "Kazakhstan", "Kyrgyzstan", "Uzbekistan"]
 
If it returns extra characters like ""Armenia"", you can add next a Compose action card with a similar expression like this: 
       

 

 

replace(replace(replace(body('Create_CSV_table'),'[',''),']',''),'""','')

 

 

 
Please let me know if this solves your issue.
 
Best Regards,
Ademar Urbano
Power Platform Support Engineer

View solution in original post

4 REPLIES 4
Community Support Team
Community Support Team

Re: Create HTML table from Sharepoint List with multi-selection choose

Hi @Anton_Sysoev,

 

In the Select action card you are already setting the initial value as "body('Get_items')?['Value']". 

 

When you set the Region field you should use: first(item()?['Choice'])?['Value']

But this will only show you the first "Choice".

 

Instead, You can try to use this expression: 

        

 

 

xpath(xml(json(concat('{"root":{"choices":', item()?['Region'] , '}}'))), '/root/choices/Value/text()')​

 

 

 
It should return all the values like: ["Armenia", "Kazakhstan", "Kyrgyzstan", "Uzbekistan"]
 
If it returns extra characters like ""Armenia"", you can add next a Compose action card with a similar expression like this: 
       

 

 

replace(replace(replace(body('Create_CSV_table'),'[',''),']',''),'""','')

 

 

 
Please let me know if this solves your issue.
 
Best Regards,
Ademar Urbano
Power Platform Support Engineer

View solution in original post

Anton_Sysoev
Level: Powered On

Re: Create HTML table from Sharepoint List with multi-selection choose

Hi @Ademar.

Thanks for your reply.

Unfortunately, it doesn't work.

I try to put expression, but the expression is invalid.

Screenshot_3.png

 

Can help to correct the expression to work properly?

Thanks,

Anton.

Community Support Team
Community Support Team

Re: Create HTML table from Sharepoint List with multi-selection choose

Hi @Anton_Sysoev,

 

Sometimes it doesn't accept right away a "copy-paste" expression. Verify if the quotes or double quotes are correct or the character was changed with the copy-paste.

 

If nothing its wrong ... insist a bit! 🙂 set the expression and press enter, or just set a normal one then change and update. 

 

The only thing that should be necessary to change its the field name, where I already put "Region", verify if this is the correct, easy way to be sure about the field name that you need to use if to see on the get items output. 

 

Please let me know if it worked,

 

Best regards,

Ademar Urbano

Power Platform Support Engineer 

 

 

 

 

Anton_Sysoev
Level: Powered On

Re: Create HTML table from Sharepoint List with multi-selection choose

This is magic! It works!
Many thanks @Ademar!
I would never do it myself without your help!

Best regards, Anton Sysoev.

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

firstImage

Incoming: New and improved badges!

We've given our badges an overhaul and also added some brand new ones!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Power Automate Community Video Gallery!

Top Kudoed Authors (Last 30 Days)
Users online (6,196)