cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ApexFire
Frequent Visitor

how to create a flow to select multiple row values based on a matching criteria of a column value

Hi,

I have  a below sample table,

E

M

a

1@xyz.com

b

1@xyz.com

c

1@xyz.com

d

2@xyz.com

e

2@xyz.com

f

3@xyz.com

g

3@xyz.com

h

4@xyz.com

i

5@xyz.com

 

I require to send mail using flow based on following criteria

 

send mail to 1@xyz.com with data as {a,b,c)

send mail to 2@xyz.com with data as {d,e)

send mail to 3@xyz.com with data as {f,g)

send mail to 4@xyz.com with data as {h)

send mail to 5@xyz.com with data as {i)

 

Please help me to achieve this using the 'Power Automate Flow'

 

Thanks in Advance

 

1 ACCEPTED SOLUTION

Accepted Solutions
grantjenkins
Community Champion
Community Champion

I've got a similar solution but avoids the second inner loop.

 

Below is the list I've used for this example.

grantjenkins_0-1670505581657.png

 

grantjenkins_1-1670505604792.png

 

Get items retrieve the items from the list.

grantjenkins_2-1670506478312.png

 

Select extracts the email address into a simple array. Note that for Map I use Text mode (see arrow on screenshot).

grantjenkins_3-1670506557298.png

 

Compose Email removes duplicates using the union expression.

union(body('Select'), body('Select'))

grantjenkins_4-1670506646029.png

 

Apply to each iterates over each of the unique email addresses.

grantjenkins_5-1670506685044.png

 

Filter array will return an array of items from Get items where the email is equal to the email of the current item in the loop.

grantjenkins_6-1670506738145.png

 

Select Values gets the values in our Title column from out the output of Filter array using the following expression. Note that I'm using Text mode for our Map as we did for the emails (see arrow on screenshot).

item()?['Title']

grantjenkins_7-1670506889804.png

 

And finally, we use Send an email using the Current item (the current email address) in our To field, and the following expression to join our values from Select Values, separated by a comma and space.

join(body('Select_Values'), ', ')

grantjenkins_8-1670507035764.png

 

An example of one of the emails after running the flow.

grantjenkins_9-1670507271679.png

 



----------------------------------------------------------------------

If I've answered your question, please mark the post as Solved.

If you like my response, please consider giving it a Thumbs Up.

View solution in original post

8 REPLIES 8
v-xiaochen-msft
Community Support
Community Support

Hi @ApexFire ,

 

I made a sample for you:

 

Create a list in sharepoint. “M” is a text column and contents are Emails.

vxiaochenmsft_0-1670492740084.png

 

 

Create a flow.

vxiaochenmsft_1-1670492740086.png

 

vxiaochenmsft_2-1670492740087.png

 

 

Create an empty array.

vxiaochenmsft_3-1670492740088.png

 

 

Get items in the list.

vxiaochenmsft_4-1670492740089.png

 

 

Select column "M" and use union() to deduplicate.

union(body('Select'),body('Select'))

vxiaochenmsft_5-1670492740097.png

 

 

Filter items in “Apply to each”.

items('Apply_to_each')

vxiaochenmsft_6-1670492740098.png

 

 

Appends the “Title” of the filtered item to the array.

items('Apply_to_each_2')?['Title']

vxiaochenmsft_7-1670492740099.png

 

 

Convert the array to the desired string format.

join(variables('varA'),',')

vxiaochenmsft_8-1670492740099.png

 

 

Send an email.

vxiaochenmsft_9-1670492740100.png

 

 

Empty the array.

vxiaochenmsft_10-1670492740101.png

 

 

Save and run flow.

vxiaochenmsft_11-1670492740101.png

Best Regards,

Wearsky

Hi Wearsky,

 

Thank you for helping me out by sharing the Flow to get an idea.

 

I tried to replicate it using my data, the Flow is succeeding but I am not getting any output.

 

It seems last subFlows under 'Apply to Each' are not executing. Attaching the result of Flow snippet for your  ready reference. Please advise what I am missing out.

 

FLOW SNIPPET

ApexFire_1-1670497179853.png

 

Flow not Working

ApexFire_2-1670497313618.png

 

Addional Info:  In my actual Excel file, I have 10 columns and the last column is analogous with column M*  which you have used in your sample table and I am trying to fetch the 2nd Column values (of my actual file) as desired output values.

 

Thank you.

grantjenkins
Community Champion
Community Champion

I've got a similar solution but avoids the second inner loop.

 

Below is the list I've used for this example.

grantjenkins_0-1670505581657.png

 

grantjenkins_1-1670505604792.png

 

Get items retrieve the items from the list.

grantjenkins_2-1670506478312.png

 

Select extracts the email address into a simple array. Note that for Map I use Text mode (see arrow on screenshot).

grantjenkins_3-1670506557298.png

 

Compose Email removes duplicates using the union expression.

union(body('Select'), body('Select'))

grantjenkins_4-1670506646029.png

 

Apply to each iterates over each of the unique email addresses.

grantjenkins_5-1670506685044.png

 

Filter array will return an array of items from Get items where the email is equal to the email of the current item in the loop.

grantjenkins_6-1670506738145.png

 

Select Values gets the values in our Title column from out the output of Filter array using the following expression. Note that I'm using Text mode for our Map as we did for the emails (see arrow on screenshot).

item()?['Title']

grantjenkins_7-1670506889804.png

 

And finally, we use Send an email using the Current item (the current email address) in our To field, and the following expression to join our values from Select Values, separated by a comma and space.

join(body('Select_Values'), ', ')

grantjenkins_8-1670507035764.png

 

An example of one of the emails after running the flow.

grantjenkins_9-1670507271679.png

 



----------------------------------------------------------------------

If I've answered your question, please mark the post as Solved.

If you like my response, please consider giving it a Thumbs Up.
grantjenkins
Community Champion
Community Champion

@ApexFire Just read your reply and saw you are using an Excel file. Is your data inside an Excel Table (formatted as a Table)? And if so, what would the headers be for the two columns you are trying to retrieve?



----------------------------------------------------------------------

If I've answered your question, please mark the post as Solved.

If you like my response, please consider giving it a Thumbs Up.

Thank you very much @grantjenkins , Your solution worked completely for me.

@grantjenkins , Yes my original data is in Excel file (already is formatted as a Table), which I have uploaded as  a sharepoint list for testing the solution. can we directly use the Table formatted Excel file without uploading as a sharepoint list?

@ApexFire Sorry for the late reply. If your Excel file is stored in a SharePoint library, then you can just replace Get items with List rows present in a table to get the data from the Excel Table rather than a SharePoint list.



----------------------------------------------------------------------

If I've answered your question, please mark the post as Solved.

If you like my response, please consider giving it a Thumbs Up.

@grantjenkins , No issues and thanks for the reply. Acutally, I had already tried experimenting the same solution which you have now advised and it worked like charm.

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (2,648)