cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
BrewerHaHa
Helper II
Helper II

Building Flow Using Power BI Results Table

Hi everyone, I am trying to create a power automate flow which will send out emails to various different store managers. The issue I'm having is that I want to send the store information to the manager of that store as well as their results but do not want to set up a separate flow for each store, I would like them all to run from a single flow.

 

My Power BI data looks like the following:

DateStore NameItem CodeSalesSales TargetStore Manager NameStore Manager EmailStaff Employed
01/01/2024City A1000167AprilApril@zzz.com5
01/01/2024City A1000294MayMay@zzz.com5
01/01/2024City A1000345LeoLeo@zzz.com5
01/01/2024City B1000122MikeyMikey@zzz.com3
01/01/2024City B1000204DonDon@zzz.com3
01/01/2024City C1000257RaphRaph@zzz.com2
01/01/2024City C1000399JuneJune@zzz.com2

 

For store A, I would like to send the following results:

DateStore NameItem CodeSales
01/01/2024City A100016
01/01/2024City A100029
01/01/2024City A100034

 

Since I am using Power BI, the flow I currently have looks like the below. I have no issue bringing in the table for each store but wish I could run a loop. That way I can get the email address from the data stored in Power BI and then bring it into the 'Send an email' portion of the flow. I would also like the data to filter to that store so City A's store only gets their results. Is this possible or is it too much?

MyFlow.PNG

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi , @BrewerHaHa 

Thanks for your response! This is my test data in Power BI and the return for the "Run a query against a dataset" in flow:

vyueyunmsft_0-1709270213779.png

This is my test flow:

vyueyunmsft_1-1709270227366.png

(1)The select action:

vyueyunmsft_2-1709270338498.png

item()?['Table[Store Name]']

 

(2)The Apply to each action:

The union() function is used to get the no duplicate store name lists.

vyueyunmsft_3-1709270542315.png

 

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

item()?['Table[Date]']     ===== item()?['Your field Name']

 

join(xpath( xml(json(concat('{"root":{"item":',body('Filter_array'),'}}'))) , '/root/item/Table_x005B_Store_x0020_Manager_x0020_Email_x005D_
/text()'),';')

 

This expression is used to get the all the managers in one store.

vyueyunmsft_4-1709270744816.png

 

 

If this reply can help you , you can click mark this reply as solution (Accept solution) which can help more people, thanks in advance! 

 

Best Regards,

Yueyun Zhang

 

 

View solution in original post

13 REPLIES 13
v-yueyun-msft
Community Support
Community Support

Hi , @BrewerHaHa 

Do you mean you want to send email to "April@zzz.com;May@zzz.com;Leo@zzz.com" for this html table:

vyueyunmsft_0-1709268012453.png

 

 

Best Regards,

Yueyun Zhang

Yes that is correct, apologies, I will update the post now

If we can send emails to even 1 of the managers, that will be good.

Hi , @BrewerHaHa 

Thanks for your response! This is my test data in Power BI and the return for the "Run a query against a dataset" in flow:

vyueyunmsft_0-1709270213779.png

This is my test flow:

vyueyunmsft_1-1709270227366.png

(1)The select action:

vyueyunmsft_2-1709270338498.png

item()?['Table[Store Name]']

 

(2)The Apply to each action:

The union() function is used to get the no duplicate store name lists.

vyueyunmsft_3-1709270542315.png

 

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

item()?['Table[Date]']     ===== item()?['Your field Name']

 

join(xpath( xml(json(concat('{"root":{"item":',body('Filter_array'),'}}'))) , '/root/item/Table_x005B_Store_x0020_Manager_x0020_Email_x005D_
/text()'),';')

 

This expression is used to get the all the managers in one store.

vyueyunmsft_4-1709270744816.png

 

 

If this reply can help you , you can click mark this reply as solution (Accept solution) which can help more people, thanks in advance! 

 

Best Regards,

Yueyun Zhang

 

 

BrewerHaHa
Helper II
Helper II

Hi @v-yueyun-msft 

 

Thank you for your detailed response. I'm very new to Power Automate. Where do I get the return for the "Run a query against a dataset" in flow? Is this from the Paramaters -> Outputs -> Body section that you can get to once the flow has been run?

 

Also my data is sent on a schedule, so it may show the data from last week dynamically. Will this option still work?

Hi , @BrewerHaHa 

You can see the run flow history here:

vyueyunmsft_0-1709272977733.png

If your flow is triggered on a scheduled basis, the stream will send the data that was retrieved at the time of the trigger.

 

If this reply can help you , you can click mark this reply as solution (Accept solution) which can help more people, thanks in advance! 

 

Best Regards,

Yueyun Zhang

@v-yueyun-msft Thanks so much for your assistance. I will check whether or not I am able to implement this solution tomorrow. I will update this thread as I go along.

Hi, @BrewerHaHa 

Thanks for your response! Of course, you can test it on your side now. If you have  problem, you can send me in this case.

The next two days are weekends, and I will get back to you as soon as possible in Monday.

 

Best Regards,

Yueyun Zhang

Hi @v-yueyun-msft 

I just tried this and was unable to manage to get this working but I can tell it's very close!

I could not do exactly what you did so I had to make some changes to see if I could get the flow to run. When I tried to run it, I had 2 issues.

a) My first issue is was in the 'Apply to each' step. In this step I got an error saying 'ActionFailed. An action failed. No dependant actions succeeded.'

I think this is because I didn't implement the code here which is 

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

item()?['Table[Date]']     ===== item()?['Your field Name']

Does the second line with the date table also go into this step? If it does, which column do I use for 'Your field name'? If it does not go to this step, does it go somewhere else? I put a screenshot below of what I currently have in this section to hopefully help.

BrewerHaHa_0-1709445933781.png

b) I also had an error in the 'Create HTML table' step. I knew that it would not go well because when I clicked on it and tried to find 'Body' as an option, it was not available. I tried to use 'First table rows' instead but this did not work when I tried to test the flow. Is the reason I cannot see 'Body' as one of the options because of the 'Apply to each' part of the flow being incorrect? I have another screenshot below and the error given to me is:

'InvalidTemplate. Unable to process template language expressions in action 'Create_HTML_table' inputs at line '0' and column '0': 'The template language expression 'outputs('Filter_array')['body/firstTableRows']' cannot be evaluated because property 'body/firstTableRows' doesn't exist, available properties are 'body'. Please see https://aka.ms/logicexpressions for usage details.'.'

BrewerHaHa_1-1709446207305.png

 

 

 

BrewerHaHa
Helper II
Helper II

@v-yueyun-msft 

I also just tried this

union(body('Select'),body('Select'))
item()?['Date Table[Date]'] ===== item()?['Test Table[Date File Loaded]']

in the 'Apply to each' step but I am getting the error 'The input parameter(s) of operation 'Apply_to_each' contains invalid expression(s). Fix invalid expression(s) for the input parameter(s) of operation 'Apply_to_each'.' when I try and save this flow

BrewerHaHa_0-1709516048844.png

I am guessing that this is incorrect. Is this code

item()?['Table[Date]']     ===== item()?['Your field Name']

meant for the step 'Create HTML table'?

 

Hi, @BrewerHaHa 

Thanks for your quick response! For your question, this is my understand:

 

(a) The "union(body('Select'),body('Select'))" code has no error. And this is put it in the Apply to each :

vyueyunmsft_0-1709516609761.jpeg

 

And the "item()?['Table[Date]']"  ===== item()?['Your field Name'] code is put in the "Create HTML Table" action:

vyueyunmsft_1-1709516609767.jpeg

 

This is used to custom the Html table column name and values. 

The "Your field Name" you can find in your flow run history in the output of your "Run a query against a dataset" action.

vyueyunmsft_2-1709516609770.jpeg

 

(b) The Apply to each action return error code means one of the action in its return error. You need to check if your "Filter array" return successfully which is used to filter the array by the Store Name:

vyueyunmsft_3-1709516609772.jpeg

 

And you said that your "Create Html table" return error code (property 'body/firstTableRows' doesn't exist), i recommend you to change to the old designer:

vyueyunmsft_4-1709516609773.jpeg

 

This error code is your "outputs('Filter_array')['body/firstTableRows']" code is wrong, you need to use the   body('Filter_array')   

vyueyunmsft_5-1709516609775.jpeg

 

 

 

If this reply can help you , you can click mark this reply as solution (Accept solution) which can help more people, thanks in advance! 

 

Best Regards,

Yueyun Zhang

 

BrewerHaHa
Helper II
Helper II

Hi @v-yueyun-msft 

You've helped so much, thank you! This has worked almost 100% but I am having only one last issue. It appears that the table is empty but the number of rows in the table is correct. In the screenshot below it is 3 rows and I also tested with my colleague for a different store with 2 rows and they also had all cells blank.

BrewerHaHa_0-1709520802464.png

I thought I would run a separate flow just to test if the Power BI query was working correctly and it is fine.

BrewerHaHa_1-1709521568319.png

 

This let me know that it's not the query which means it's something in the 'Apply to each' step. I took a look at the 'Filter Array' step and there are lots of rows when I select 'Show raw inputs'. When I look at the outputs by using 'Show raw outputs', there is almost nothing there. It is just a few rows as you can see in the screenshot below. Is this normal?

BrewerHaHa_2-1709524362106.png

 

 

BrewerHaHa
Helper II
Helper II

I have discovered that this is due to one of the slicers in Power BI. When I remove the slicer, I can send the email, the rows are populated but of course the data being sent is not filtered the way that I would like and some things are being sent that do not need to be sent. I will see if I can find a solution to this

BrewerHaHa
Helper II
Helper II

Hi @v-yueyun-msft 

thanks for your assistance. I have accepted your original post as the solution. This was incredibly helpful and I feel very fortunate that someone was able to assist me.

 

For others who are performing something like this: At the end I had some issues with slicers. It seems not all types of slicers are compatible with this method. Please be aware of this. I noticed this was the case with slicers like 'does not contain, is empty, is blank' etc.

Helpful resources

Announcements

Copilot Cookbook Challenge | Week 3 Results | Win Tickets to the Power Platform Conference

We are excited to announce the "The Copilot Cookbook Community Challenge is a great way to showcase your creativity and connect with others. Plus, you could win tickets to the Power Platform Community Conference in Las Vegas in September 2024 as an amazing bonus.   Two ways to enter: 1. Copilot Studio Cookbook Gallery: https://aka.ms/CS_Copilot_Cookbook_Challenge 2. Power Apps Copilot Cookbook Gallery: https://aka.ms/PA_Copilot_Cookbook_Challenge   There will be 5 chances to qualify for the final drawing: Early Bird Entries: March 1 - June 2Week 1: June 3 - June 9Week 2: June 10 - June 16Week 3: June 17 - June 23Week 4: June 24 - June 30     At the end of each week, we will draw 5 random names from every user who has posted a qualifying Copilot Studio template, sample or demo in the Copilot Studio Cookbook or a qualifying Power Apps Copilot sample or demo in the Power Apps Copilot Cookbook. Users who are not drawn in a given week will be added to the pool for the next week. Users can qualify more than once, but no more than once per week. Four winners will be drawn at random from the total qualifying entrants. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once. If they are drawn multiple times, another user will be drawn at random. Prizes:  One Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value, does not include travel, lodging, or any other expenses) Winners are also eligible to do a 10-minute presentation of their demo or solution in a community solutions showcase at the event. To qualify for the drawing, templates, samples or demos must be related to Copilot Studio or a Copilot feature of Power Apps, Power Automate, or Power Pages, and must demonstrate or solve a complete unique and useful business or technical problem. Power Automate and Power Pagers posts should be added to the Power Apps Cookbook. Final determination of qualifying entries is at the sole discretion of Microsoft. Weekly updates and the Final random winners will be posted in the News & Announcements section in the communities on July 29th, 2024. Did you submit entries early?  Early Bird Entries March 1 - June 2:  If you posted something in the "early bird" time frame complete this form: https://aka.ms/Copilot_Challenge_EarlyBirds if you would like to be entered in the challenge.   Week 1 Results:  Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Copilot Cookbook Gallery:Power Apps Cookbook Gallery:1.  @Mathieu_Paris 1.   @SpongYe 2.  n/a2.   @Deenuji 3.  n/a3.   @Nived_Nambiar  4.  n/a4.   @ManishSolanki 5.  n/a5.    n/a   Week 2 Results:  Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Copilot Cookbook Gallery:Power Apps Cookbook Gallery:1. Kasun_Pathirana1. ManishSolanki2. cloudatica2. madlad3. n/a3. SpongYe4. n/a4. n/a5. n/a5. n/a     Week 3 Results:  Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Copilot Cookbook Gallery:Power Apps Cookbook Gallery:1. Parul_Yadav_Neo1. n/a2. SpongYe2. n/a3. n/a3. n/a4. n/a4. n/a5. n/a5. n/a

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Your Moment to Shine: 2024 PPCC’s Got Power Awards Show

For the third year, we invite you, our talented community members, to participate in the grand 2024 Power Platform Community Conference's Got Power Awards. This event is your opportunity to showcase solutions that make a significant business impact, highlight extensive use of Power Platform products, demonstrate good governance, or tell an inspirational story. Share your success stories, inspire your peers, and show off some hidden talents.  This is your time to shine and bring your creations into the spotlight!  Make your mark, inspire others and leave a lasting impression. Sign up today for a chance to showcase your solution and win the coveted 2024 PPCC’s Got Power Award. This year we have three categories for you to participate in: Technical Solution Demo, Storytelling, and Hidden Talent.      The Technical solution demo category showcases your applications, automated workflows, copilot agentic experiences, web pages, AI capabilities, dashboards, and/or more. We want to see your most impactful Power Platform solutions!  The Storytelling category is where you can share your inspiring story, and the Hidden Talent category is where your talents (such as singing, dancing, jump roping, etc.) can shine! Submission Details:  Fill out the submission form https://aka.ms/PPCCGotPowerSignup by the end of July with details and a 2–5-minute video showcasing your Solution impact. (Please let us know you're coming to PPCC, too!)After review by a panel of Microsoft judges, the top storytellers will be invited to present a virtual demo presentation to the judges during early August. You’ll be notified soon after if you have been selected as a finalist to share your story live at PPCC’s Got Power!  The live show will feature the solution demos and storytelling talents of the top contestants, winner announcements, and the opportunity to network with your community.  It's not just a showcase for technical talent and storytelling showmanship, show it's a golden opportunity to make connections and celebrate our Community together! Let's make this a memorable event! See you there!   Mark your calendars! Date and Time: Thursday, Sept 19th Location: PPCC24 at the MGM Grand, Las Vegas, NV 

Update! June 13th, Community Ambassador Call for User Group Leaders and Super Users

Calling all Super Users & User Group Leaders   UPDATE:  We just wrapped up June's Community Ambassador monthly calls for Super Users and User Group Leaders. We had a fantastic call with lots of engagement. We are excited to share some highlights with you!    Big THANK YOU to our special guest Thomas Verhasselt, from the Copilot Studio Product Team for sharing how to use Power Platform Templates to achieve next generation growth.     A few key takeaways: Copilot Studio Cookbook Challenge:  Week 1 results are posted, Keep up the great work!Summer of Solutions:  Starting on Monday, June 17th. Just by providing solutions in the community, you can be entered to win tickets to Power Platform Community Conference.Super User Season 2: Coming SoonAll communities moving to the new platform end of July We also honored two different community members during the call, Mohamed Amine Mahmoudi and Markus Franz! We are thankful for both leaders' contributions and engagement with their respective communities. 🎉   Be sure to mark your calendars and register for the meeting on July 11th and stay up to date on all of the changes that are coming. Check out the Super User Forum boards for details.   We're excited to connect with you and continue building a stronger community together.   See you at the call!

Win free tickets to the Power Platform Conference | Summer of Solutions

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**

Celebrating the June Super User of the Month: Markus Franz

Markus Franz is a phenomenal contributor to the Power Apps Community. Super Users like Markus inspire others through their example, encouragement, and active participation.    The Why: "I do this to help others achieve what they are trying to do. As a total beginner back then without IT background I know how overwhelming things can be, so I decided to jump in and help others. I also do this to keep progressing and learning myself." Thank you, Markus Franz, for your outstanding work! Keep inspiring others and making a difference in the community! 🎉  Keep up the fantastic work! 👏👏 Markus Franz | LinkedIn  Power Apps: mmbr1606  

Users online (6,240)