cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Compare two SharePoint lists and calculate travel expense

I am looking forward to your support in order to solve a problem with Power Automate from Microsoft. My level in Power Automate is beginner.

I would like to solve a problem by configuring a flow in Power Automate, rather than using SharePoint formulas for calculated columns:

  1. SharePoint List "A" includes several different columns to calculate travel expenses. First let's assume the choice column "Breakfast" is set to the value "Yes" (only yes and no are possible options)
  2. The flow needs to check now, which country appears in the single line of text column "Destination" in the SharePoint List "A"
  3. Once the country has been checked, e.g. France, it needs to check now a different SharePoint list, called "B" (same SharePoint site).
  4. SharePoint List "B" includes three columns. The first one is the generic ID column, called „ID“, the second one includes all available destinations (232) called „Available Destinations“ and the third one („Reimbursement rate“) the corresponding reimbursement rate, the traveller is entitled to, e.g. ID 34, Destination: France, reimbursement rate: 60

    5. The flow needs to check SharePoint list "B", find the same destination it has detected in SharePoint list "A" - in this case "France" - and check the corresponding reimbursement rate, in this case 60.

    6. Now the flow needs to take the number 60, multiply by 0,2 and the result needs to appear in SharePoint list "A" in a column called "Breakfast deduction" (which type?).

    Please let me know, whether this is possible. If yes, would you be so kind and describe how to configure the flow step by step. If you need more information, do not hesitate to ask.

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions

So I think for the 20, 40, 40 situation, I'd start this way:

Rhiassuring_3-1685227865495.png

We're going to populate that with our total percentage based on the number / types of meals.

 

There's probably a billion ways to do this, but since you only have 3 possible outcomes, I'm going to do it this way:

 

Rhiassuring_4-1685227966395.png

 

I am using an "If" expression inside of "Increment Variable" actions to say "hey, if this is a "Yes", then increment it. If it's not, then, don't."

 

Finally I've just updated our Compose (in the last post) to use - instead of 0.2 - the variable we've created, numMeals.

 

Let's run some tests here...

Rhiassuring_5-1685228119070.png

 

 

That looks right to me....

 

 

 

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



View solution in original post

5 REPLIES 5

Hello, 

 

It's possible!  First question though - where did the 0.2 come from? Is that different depending on the type of deduction, or no?  


Also, so I understand the pretense - this means that the submission for Breakfast in France is entitled to up to 60 (dollars) reimbursement, right? But does this then mean that truly you're only reimbursing for 20% of the value? 

 

To me, it would make more sense if the "Reimbursement Rate" was 20%, and the Breakfast submission was for $60, and you were calculating 20% of Breakfast ... but maybe I am totally off base.

 

 

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Hi!

Thanks for your quick reply. As for the 20% or 0,2 (as I am configuring this process in a german sharepoint online environment or power automate environment, I need to use comma for example), it goes like this:

 

I have a list of around 230 destinations worldwide (e.g. the U.S. includes around 12 destinations, such as L.A., N.Y. etc.). Now, in this list (available as Excel and SharePoint list) I have a destination column and three more number columns, which show the "reimbursement rate" (not sure, whether this is the right term anyway) depending on the length of the stay per day. One column says 24 hours, the secon 11 hours to 23 hours 59 minutes and the third says up to 11 hours. However, for this case, we can forget about the second and third column, as we do not need it. We need to look at the first number column only.

 

So, the list has the destination column, the ID column and the "Reimbursement rate" column. The reimbursement rate column includes the reimbursement rate one gets per day, when travelling to a specific destination. As we have around 230 destinations, EACH destination has a different reimbursement rate (e.g. if you stay in N.Y. you might receive one Euro more per day, than if you stay in Miami).

 

Finally, I want to deduct from this rate each time 20%, if the traveller has ticked "Yes" in the breakfast column (choice column). There are two more columns, "lunch" and "dinner". if these columns are checked with "Yes" I need to deduct 40% for each column. E.g. the destination is "France - Paris". In day one I have checked Breakfast yes, lunch no, and dinner yes. Than I will deduct 20% from 60 Euro AND 40% from 60 Euro. In the end I will receive 24 Euro for day one. If I check all three columns with yes, I will receive nothing for day one.

 

I hope this helps to clarify the process. So far, I have implemented this process mainly with sharepoint formulas, but due to technical restrictions (maximum 277 columns in a sharepoint list and maximum of 48 calculated columns in a sharepoint list and maximum of 19 nested IF (in german WENN) functions per calculated column, etc.) I am considering a solution with power automate.

Ahhh, I see. 

 

I was thinking of it in terms of an expense process, but it looks like you're more of a .. travelling company, maybe? I'm super curious about the scenario here hahah.

 

Anyway, I get it.  Let's start with the first question, which was only about getting the reimbursement rate for one item.

 

I'm Canadian so I'll use the format of 0.2, so my system doesn't implode.

 

One thing that will be important is the type of column you are using for Destination. Is it a simple choice field? Is it managed metadata? Is it free text? Is it a look-up? 

 

Right now I'm going to pretend it's a choice field / single line of text, for the same of this example. (But, I'd recommend using Managed Metadata.)

 

The same is true of your "Yes / No" column. Are you using the checkbox (default yes / no column), or are you using a choice column with yes or no in it? In this example, I'll use the default yn column.

 

I've set up my list of Reimbursement Rates like this (I've renamed my "Title" column to "Destination")

Rhiassuring_0-1685224140474.png

 

And my submission list will look like this:

Rhiassuring_6-1685226159096.png

 

So.. let's build the flow. 

 

Step 1... "When a new item is created", aimed at List A ("Expense Submissions")

 

Step 2...  "Get Items" from ApprovalMatrix filtering on the Destination. That'll look like this:

Rhiassuring_5-1685225960055.png

 

Step 3.. MATH.  We're going to do 2 operations in this...

 

A) Multiply the output from the Reimbursement Rate by 0.2. I'm using a Compose action, with the following expression:

 

mul(outputs('Get_items')?['body/value']?[0]?['ReimbursementRate'],0.2)
 
I am doing that because since we are using a "Get Items" (we have to use it unless we always know the ID), Power Automate isn't smart enough to know we only have one item, so it wants to Apply to Each. So if you KNOW you'll only ever have one result, you can take it right out - using that format. The [0] is telling it "just give me the one value I know you're holding.)
 
So really, it's mul(ReimburesmentRate,0.2).
 
B) Subtract the multiplication output from the reimbursement rate itself. I am just folding the expression around the previous one:
 Rhiassuring_9-1685226638891.png

sub(outputs('Get_items')?['body/value']?[0]?['ReimbursementRate'],mul(outputs('Get_items')?['body/value']?[0]?['ReimbursementRate'],0.2))
 
 I added the grey to show the old expression in there as well. This is just the most efficient way to do it, with both of them in the same action, but you could split them into 2 composes. Anyway. We're just saying "Take that original number you got from the Approval Matrix, and subtract the output of the multiplication from it."

 

Step 4.. for now, with this one value, is to update the associated item with the calculation. That looks like this: 

Rhiassuring_8-1685226382634.png

 

Notice that I emptied out the Breakfast/Lunch/Dinner values so they don't get overridden.  I used the "ID" and "Title" from the Dynamic Content in the original trigger. The "Outputs" is just from the Compose right before this, since it holds the value.

 

Rhiassuring_10-1685226755052.png

BUT... I now know this isnt your real, full need. We need to do the 20%, 40%, Nothing scenario. I'll do that in the next post so there's a clear delineation. 

 

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



So I think for the 20, 40, 40 situation, I'd start this way:

Rhiassuring_3-1685227865495.png

We're going to populate that with our total percentage based on the number / types of meals.

 

There's probably a billion ways to do this, but since you only have 3 possible outcomes, I'm going to do it this way:

 

Rhiassuring_4-1685227966395.png

 

I am using an "If" expression inside of "Increment Variable" actions to say "hey, if this is a "Yes", then increment it. If it's not, then, don't."

 

Finally I've just updated our Compose (in the last post) to use - instead of 0.2 - the variable we've created, numMeals.

 

Let's run some tests here...

Rhiassuring_5-1685228119070.png

 

 

That looks right to me....

 

 

 

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thank you!!

I will test it on my side and get back to as soon as possible. And no, we are not a travel company. We simply have lots of employees traveling around the world and quite complicated rules to follow, concerning travel expenses and reimbursement. 

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

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**   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.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       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. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     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. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

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

Users online (2,191)