cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
PPanfili
Helper I
Helper I

Submit to Multiple Forms with Different Datasources

Hello everyone!! 

I have been creating an App, for a school I am working in; in order to submit Discipline reports for students.

 

If you look at the attached screen, you will see various fields, inputting various types of information, into different datasources.  In total there are about 5-6 different spreadsheets behind this app.  In many of the spreadsheets, information will be duplicated.  For instance, Last_Name & First_Name are in all of the datasources.  I know this maynot be ideal, however, I have to keep it like this.  There are unique fields, which would be Last_Name, First_Name, Date, Incident, Discipline_Given.

 

My question is this.  Lets say someone inputs all the data on the attached screen; and then sends the data to the various datasources.  Then they realize that they made  mistake, perhaps, they put in the wrong grade or something.  

 

What would be the best method to Edit this information, in all of the Datasources.  Without have to do each one seperatly?  Basically, if I create an EditForm screen, would I be able to have the user search for this Record, and then edit the field, and then have it post to all the proper places?  I understand how to update only one of the datasources, but I want to be able to search, and update them all at once; to prevent redunancy, and to make it easier for the user.

 

Attached is a copy of the screenshot of the data that is entered it is tied to the following spreadsheets:  All, Log, Discipline, ISAP, Info...

 

I hope someon can shed some light on thisScreenshot.png

1 ACCEPTED SOLUTION

Accepted Solutions

Ok, finally got it working the way that I wanted.  I had to go ahead and add a few textboxes, in order to not break the Lookup fields, but so far everything is working good.

 

Thanks again, as I could of never figured this out on my own.

 

Here is the code.

 

Patch(All, LookUp(All, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Infraction=DataCard42.Default), {First_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Label23.Text), Last_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, LastUpdate.Text), Actual_Resolution_Date: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Acutal_Resolution_Date), Incident_Date: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Date_Of_Offense), Ethnicity: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Ethnicity), Gender: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Gender), Point_Assigned: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Points), Discipline_Assigned: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Disc_Assigned), Infraction: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, OffenseUpdate.Text), Grade: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Grade)}); 

 

Patch(Discipline, LookUp(Discipline, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Student_Offense=DataCard42.Default && Date_Of_Offense=DataCard34.Default), {First_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Label23.Text), Last_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, LastUpdate.Text), Date_Of_Offense: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Date_Of_Offense), Points: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default &&Student_Offense=DataCard42.Default,Points), Discipline_Given: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Disc_Assigned), Student_Offense: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, OffenseUpdate.Text), Period: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Period_Of_Offense), Administrator: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Administrator), Date: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Today_Date), Code: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Code), Period_Given: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, ISAP_Periods), Date_Seen_Admin: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default && Student_Offense=DataCard42.Default, Date_Seen_Administrator), Grade: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default &&Student_Offense=DataCard42.Default, Grade)});                                                                                                                                                                                                                                                                                                                                           Patch(ISAP, LookUp(ISAP, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default), {First_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, Label23.Text), Last_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, LastUpdate.Text), Grade: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, Grade), Period: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, ISAP_Periods), Start_Date: LookUp(Log,First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, Start_Date),End_Date: LookUp(Log,First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, End_Date),Todays_Date: LookUp(Log,First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, Today_Date), Administrator: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, Administrator)});                                                                                                                                                                                                                                                                                     Patch(Log, LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Student_Offense=DataCard42.Default), {Student_Offense: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, OffenseUpdate.Text), Last_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Start_Date=DataCard53.Default && End_Date=DataCard17.Default, LastUpdate.Text),First_Name: LookUp(Log, First_Name=DataCard31.Default && Last_Name=DataCard18.Default && Date_Of_Offense=DataCard34.Default, Label23.Text)})

View solution in original post

14 REPLIES 14
LukeW-MSFT
Power Apps
Power Apps

Hello!

Thanks for the thorough explanation of your situation! It sounds like the answer for you may lie in the Form.OnSuccess property. If a form submission succeeds, it sounds like you want to update the redundant data in other data sources (for example, last name is updated in DataSource A, so you want to update last name with the new value in DataSource B).

To test this out, I built two very similar DataSources ("lucaswh-Menu" and "lucaswh-Hamburgers") that have overlapping data. I have an edit form that points to the Hamburgers data source. When that is updated, I want to also update the corresponding record in the Menu data source. I was able to do this successfully by using the Patch formula:

Form1.OnSuccess = Patch('lucaswh-Menu', LookUp('lucaswh-Menu', Title = "Patty"), {Amount: LookUp('lucaswh-Hamburgers', Title = "Patty", Amount)})

 

After Hamburgers is successfully updated, we patch the Menu with the corresponding value from the updated Hamburgers data source.

 

My example only works for one row (Patty) and one column (Amount), but you could extend this to update the whole record by changing the last argument to Patch to be something like {Val1: Lookup(DS, Title, Val1), Val2: Lookup(DS, Title, Val2), etc...}. 

 

UpdateOnSuccess.png

 

Hope this helps!

 

 

Luke,

 

Thank you for this response, as this is a major drawback on what I am buildling.  I am having a bit of trouble understanding exactly how to write this out in my situation though.  I am a little confused with the part that says Title = "Patty" in the formula?  This has me hung up, because it is a title of a column? Or textbox?  

 

So here is a better representation of what I am working with.  To start I have three data sources: All, Discipline, ISAP.  Attached see a start of me creating a form to edit all three tables upon update.  How would my code work?  

Patch('All', Lookup('All', Title = "?????"), {Grade: Lookup('All', Title = "???????", Grade)})

 

I also, have never used the OnSucces function.  Does this mean that after I press the Button, it triggers?

 

To be clear, I need the user to be able to come to this screen; search for data that they already inputted on a previous screen, which I am accomplising by the Dropboxes in the headings.  Once they locate this data, based on last name and date.  I need them to be able to change any of the columns associated with this record.  And I need that change to be reflected across all the Datasources.  

 

This seems very complicated to me, and I hope it can be accomplished.DataSearch.png

Hi again!

Apologies for the unclear example! First, take a look at the following documentation:

 

LookUp: https://docs.microsoft.com/en-us/powerapps/functions/function-filter-lookup

Patch: https://docs.microsoft.com/en-us/powerapps/functions/function-patch

 

In my example, "Title" is simply the name of the column, you might want to use "Last_Name" instead to update all records for a given Last Name. In your case, let's assume that the DataSource behind Form5 is "All". Then if you set OnSuccess to be:


Form5.OnSuccess = Patch('Discipline', LookUp('Discipline', Last_Name=DataCardX.Default), {Grade: LookUp('All', Last_Name=DataCardX.Default, Grade)}); Patch('ISAP', LookUp('ISAP', Last_Name=DataCardX.Default), {Grade: LookUp('All', Last_Name=DataCardX.Default, Grade)})

 

where DataCardX is the data card for the Last_Name field (you can click around the data cards on the left side to figure out which one this is - I can't tell from your photo).

 

Assuming the Button calls SubmitForm(Form5) and the SubmitForm call completes successfully, yes, this will trigger an update of the Grade field in the "Discipline" and "ISAP" data sources to match that of the "All" data source. I hope this helps!

Luke,

I greatly appreciate your assistance on this, as I am a novice, and this is way over my head.  We are getting closer, and I provided you with a bigger screenshot so you can see what I am working with.

 

I also added the second from on this screen shot, this is Form1, on the bottom right, which is tied to the ALL table.  As you can see in the picture, various columns overlap.  Last_Name, First_Name, Grade, Points, and a few others.

 

I added your formula to the onsuccess of Form5, which is tied ot the datasource Discipline.  Both of these forms are filtered by the dropdowns at the top.

 

When changing something in Form5, and hitting the button, the data is indeed updated in Discipline Datasource, but not in the ALL datasource, or any other datasource for that matter.  As you can see in the attached screenshot, I actually updated the grade in Form5, and the change is not reflecting in Form1, nor is it reflecting in the backend datasource.  

 

My question is how does it know, which record is the appropriate one to update in the other form1?  Also, what if another field is updated, besides grade?  How will it know to update everywhere else?

 

Again, I feel like this is an extremely complex situation, basically because the way the data is set up, but unfortunatly I cannot change that.

 

I hope we can arrive at an conclusion on this, as it is way above my paygrade at this point.Screen.png

Glad to hear we are getting closer. 

 

Since Form5 is tied to the "Discipline" datasource (I thought it was tied to "All"), the formula is not correct. The correct formula should be:

 

Form5.OnSuccess = Patch('All', LookUp('All', Last_Name=DataCard18.Default), {Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade)}); Patch('ISAP', LookUp('ISAP', Last_Name=DataCard18.Default), {Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade)})

 

I would expect this formula to result in Form1 updating as well. Let me know if it still does not work as expected.


My question is how does it know, which record is the appropriate one to update in the other form1? 

 

I need to know what the datasource backing Form1 is to answer this. You already told me Form5 is backed by "Discipline". And you want Form1 to update all the data sources in a similar manner to Form5 right? Let me know.

 


 


Also, what if another field is updated, besides grade?  How will it know to update everywhere else?

 

You will need to add more parameters (separated by commas) inside the "{ ... }" in the Patch function. For example, in Form5.OnSuccess it will look like: Patch('All', LookUp('All', Last_Name=DataCard18.Default), {Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade), Col2: LookUp('Discipline', Last_Name=DataCard18.Default, Col2), Col3: LookUp('Discipline', Last_Name=DataCard18.Default, Col3)}); Patch(...

 

If you are still unable to get it working (reasonable, as the formulas are getting pretty long at this point), please reply with the following and I can guide you towards your exact solution (and tell you why it works, of course):

 

1. A list of all Forms in your PowerApp that you want to use for this multi-datasource updating process and the datasources behind those forms

 

2. A list of columns for the 3 DataSources (e.g. Discipline: Last_Name, First_Name, Grade, etc...)

This formula place on OnSuccess of the Form5 is still not resulting in Form 1 updating.

 

Form5.OnSuccess = Patch('All', LookUp('All', Last_Name=DataCard18.Default), {Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade)}); Patch('ISAP', LookUp('ISAP', Last_Name=DataCard18.Default), {Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade)})

 

Form 5 is tied to Discipline.  Form 1 is tied to DataSource All.

 

Attached is a list of all my datasources. 

 

As of now there are only 2 forms; because I was just waiting to get them 2 working, then was just going to add to code.  I will make up fake forms now just to see if you can get code working.   

 

Form5 = Discipline

Form1= All

Form2=ISAP

Form3=LOG

 

Here are the columns in the the Datasources...

 

Discipline----

Last_NameFirst_NameGradePeriodAdministratorDateDate_Of_OffenseCodePointsPeriod_GivenStudent_OffenseDiscipline_GivenDate_Seen_Admin
__PowerAppsId__

 

All

Last_NameFirst_NameGradeGenderEthnicityInfractionIncident_DatePoint_AssignedDiscipline_AssignedActual_Resolution_DatePoints_YTD
__PowerAppsId__

 

ISAP

Last_NameFirst_NameGradeStart_DateEnd_DatePeriod123456789AdministratorNOTESTodays_Date
__PowerAppsId__

 

LOG

Last_NameFirst_NamePower_School_GradeGradePointsDisc_AssignedStart_DateEnd_DateISAP_PeriodsCodeAdministratorGenderEthnicityDate_Seen_AdministratorToday_DateStudent_OffenseDate_Of_OffensePeriod_Of_OffenseReporting_TeacherAcutal_Resolution_DatePrepared_By__PowerAppsId__

 

 

I thank you again for this help, as there is no way I would be able to work out this complex formula...I hope in the end it will work; but it just seems really complicated to me.

Let's try to get the two forms you have right now working first.

 

Form5.OnSuccess = 

 

Patch('All', LookUp('All', Last_Name=DataCard18.Default), {First_Name: LookUp('Discipline', Last_Name=DataCard18.Default, First_Name), Last_Name: LookUp('Discipline', Last_Name=DataCard18.Default, Last_Name), Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade)}); Patch('ISAP', LookUp('ISAP', Last_Name=DataCard18.Default), {First_Name: LookUp('Discipline', Last_Name=DataCard18.Default, First_Name), Last_Name: LookUp('Discipline', Last_Name=DataCard18.Default, Last_Name), Grade: LookUp('Discipline', Last_Name=DataCard18.Default, Grade), Administrator: LookUp('Discipline', Last_Name=DataCard18.Default, Administrator)})

 

This should result in the "All" and 'ISAP" data sources being updated to reflect the changes in the "Discipline" data source. This should update the columns First_Name, Last_Name, Grade, and Administrator (Administrator for "ISAP" only, since it doesn't exist in "All")

 

Form1.OnSuccess =

 

Patch('Discipline', LookUp('Discipline', Last_Name=DataCard18.Default), {First_Name: LookUp('All', Last_Name=DataCard18.Default, First_Name), Last_Name: LookUp('All', Last_Name=DataCard18.Default, Last_Name), Grade: LookUp('All', Last_Name=DataCard18.Default, Grade)}); Patch('ISAP', LookUp('ISAP', Last_Name=DataCard18.Default), {First_Name: LookUp('All', Last_Name=DataCard18.Default, First_Name), Last_Name: LookUp('All', Last_Name=DataCard18.Default, Last_Name), Grade: LookUp('All', Last_Name=DataCard18.Default, Grade))

This should result in the "Discipline" and 'ISAP" data sources being updated to reflect the changes in the "All" data source. This should update the columns First_Name, Last_Name, Grade.

 

Please try these and let me know the results!

To start, I greatly appreciate this.  It is almost working as I need it too.  

 

On Form_5, if I change the Last_Name, First_Name, Grade, and Admin, they are in turn changing on the ISAP Datasource, but not the ALL Datesource.  

 

If I change the Last_Name of Form5, it results, in a Hiccup of sorts, which I believe is because Form1 is tied to ALL, and those fields are not updating, so Form 1 results, just disappears now, because there is no Last_Name Match, because it changed only in the ISAP and Discipline Datasources, but not all.

 

Once that hiccup is worked out, my next task would be to just be able to understand the formula, so that I can add fields to be updated through all the datasources.  

 

My thought and hope is the, that the Screen will work backwards via the Forms....So I will have all the Fields in Form5 Datasource showing.  So if someone were to update Last_Name, it would filter down to the Datasources on Form4, Form3, Form2, Form1.  So On the screen there will only be one instance of the Last_Name Column.  

Then, from there, whatever is in the other forms will show only once, and update the rest of the forms... 

 

Basically, I dont want duplicate fields showing on the screen, just 1 field per item that is necessary.

Your explanation of the "hiccup" sound reasonable to me. Really, the Form5 update should update the "All" as well as the "ISAP" Datasource so that shouldn't be happening in the first place.

 

Form5 issues:

 

I double checked the Form5.OnSuccess formula and it looks correct to me. Still not sure why it is only updating "ISAP". There may be a data issue in your databases which I am unable to diagnose from here.

 

Also, keep in mind that my formulas assume that last names in your data bases are unique for each student. If they are not, perhaps you may want to change all the code that says "Last_Name=DataCard18.Default" to "First_Name=DataCardX.Default && Last_Name=DataCard18.Default" where X is the number of the data card that contains the last name.

 

Form1 issues:

 

I realized that the formula I gave for Form1.OnSuccess may not be correct since it references DataCard18, which is in Form5, not Form1. Please subsitute DataCard18 for whichever Data Card in Form1 contains the Last_Name field info.

 

Hope this gets you closer.

 

-Luke 

Helpful resources

Announcements

Exclusive LIVE Community Event: Power Apps Copilot Coffee Chat with Copilot Studio Product Team

  It's time for the SECOND Power Apps Copilot Coffee Chat featuring the Copilot Studio product team, which will be held LIVE on April 3, 2024 at 9:30 AM Pacific Daylight Time (PDT).     This is an incredible opportunity to connect with members of the Copilot Studio product team and ask them anything about Copilot Studio. We'll share our special guests with you shortly--but we want to encourage to mark your calendars now because you will not want to miss the conversation.   This live event will give you the unique opportunity to learn more about Copilot Studio plans, where we’ll focus, and get insight into upcoming features. We’re looking forward to hearing from the community, so bring your questions!   TO GET ACCESS TO THIS EXCLUSIVE AMA: Kudo this post to reserve your spot! Reserve your spot now by kudoing this post.  Reservations will be prioritized on when your kudo for the post comes through, so don't wait! Click that "kudo button" today.   Invitations will be sent on April 2nd.Users posting Kudos after April 2nd. at 9AM PDT may not receive an invitation but will be able to view the session online after conclusion of the event. Give your "kudo" today and mark your calendars for April 3rd, 2024 at 9:30 AM PDT and join us for an engaging and informative session!

Tuesday Tip: Unlocking Community Achievements and Earning Badges

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!     THIS WEEK'S TIP: Unlocking Achievements and Earning BadgesAcross the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. These badges each signify a different achievement--and all of those achievements are available to any Community member! If you're a seasoned pro or just getting started, you too can earn badges for the great work you do. Check out some details on Community badges below--and find out more in the detailed link at the end of the article!       A Diverse Range of Badges to Collect The badges you can earn in the Community cover a wide array of activities, including: Kudos Received: Acknowledges the number of times a user’s post has been appreciated with a “Kudo.”Kudos Given: Highlights the user’s generosity in recognizing others’ contributions.Topics Created: Tracks the number of discussions initiated by a user.Solutions Provided: Celebrates the instances where a user’s response is marked as the correct solution.Reply: Counts the number of times a user has engaged with community discussions.Blog Contributor: Honors those who contribute valuable content and are invited to write for the community blog.       A Community Evolving Together Badges are not only a great way to recognize outstanding contributions of our amazing Community members--they are also a way to continue fostering a collaborative and supportive environment. As you continue to share your knowledge and assist each other these badges serve as a visual representation of your valuable contributions.   Find out more about badges in these Community Support pages in each Community: All About Community Badges - Power Apps CommunityAll About Community Badges - Power Automate CommunityAll About Community Badges - Copilot Studio CommunityAll About Community Badges - Power Pages Community

Tuesday Tips: Powering Up Your Community Profile

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week's Tip: Power Up Your Profile!  🚀 It's where every Community member gets their start, and it's essential that you keep it updated! Your Community User Profile is how you're able to get messages, post solutions, ask questions--and as you rank up, it's where your badges will appear and how you'll be known when you start blogging in the Community Blog. Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile.     Password Puzzles? No Problem! Find out how to sync your Azure AD password with your community account, ensuring a seamless sign-in. No separate passwords to remember! Job Jumps & Email Swaps Changed jobs? Got a new email? Fear not! You'll find out how to link your shiny new email to your existing community account, keeping your contributions and connections intact. Username Uncertainties Unraveled Picking the perfect username is crucial--and sometimes the original choice you signed up with doesn't fit as well as you may have thought. There's a quick way to request an update here--but remember, your username is your community identity, so choose wisely. "Need Admin Approval" Warning Window? If you see this error message while using the community, don't worry. A simple process will help you get where you need to go. If you still need assistance, find out how to contact your Community Support team. Whatever you're looking for, when it comes to your profile, the Community Account Support Knowledge Base article is your treasure trove of tips as you navigate the nuances of your Community Profile. It’s the ultimate resource for keeping your digital identity in tip-top shape while engaging with the Power Platform Community. So, dive in and power up your profile today!  💪🚀   Community Account Support | Power Apps Community Account Support | Power AutomateCommunity Account Support | Copilot Studio  Community Account Support | Power Pages

Super User of the Month | Chris Piasecki

In our 2nd installment of this new ongoing feature in the Community, we're thrilled to announce that Chris Piasecki is our Super User of the Month for March 2024. If you've been in the Community for a while, we're sure you've seen a comment or marked one of Chris' helpful tips as a solution--he's been a Super User for SEVEN consecutive seasons!       Since authoring his first reply in April 2020 to his most recent achievement organizing the Canadian Power Platform Summit this month, Chris has helped countless Community members with his insights and expertise. In addition to being a Super User, Chris is also a User Group leader, Microsoft MVP, and a featured speaker at the Microsoft Power Platform Conference. His contributions to the new SUIT program, along with his joyous personality and willingness to jump in and help so many members has made Chris a fixture in the Power Platform Community.   When Chris isn't authoring solutions or organizing events, he's actively leading Piasecki Consulting, specializing in solution architecture, integration, DevOps, and more--helping clients discover how to strategize and implement Microsoft's technology platforms. We are grateful for Chris' insightful help in the Community and look forward to even more amazing milestones as he continues to assist so many with his great tips, solutions--always with a smile and a great sense of humor.You can find Chris in the Community and on LinkedIn. Thanks for being such a SUPER user, Chris! 💪🌠

Tuesday Tips: Community Ranks and YOU

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!This Week: Community Ranks--Moving from "Member" to "Community Champion"   Have you ever wondered how your fellow community members ascend the ranks within our community? What sets apart an Advocate from a Helper, or a Solution Sage from a Community Champion? In today’s #TuesdayTip, we’re unveiling the secrets and sharing tips to help YOU elevate your ranking—and why it matters to our vibrant communities. Community ranks serve as a window into a member’s role and activity. They celebrate your accomplishments and reveal whether someone has been actively contributing and assisting others. For instance, a Super User is someone who has been exceptionally helpful and engaged. Some ranks even come with special permissions, especially those related to community management. As you actively participate—whether by creating new topics, providing solutions, or earning kudos—your rank can climb. Each time you achieve a new rank, you’ll receive an email notification. Look out for the icon and rank name displayed next to your username—it’s a badge of honor! Fun fact: Your Community Engagement Team keeps an eye on these ranks, recognizing the most passionate and active community members. So shine brightly with valuable content, and you might just earn well-deserved recognition! Where can you see someone’s rank? When viewing a post, you’ll find a member’s rank to the left of their name.Click on a username to explore their profile, where their rank is prominently displayed. What about the ranks themselves? New members start as New Members, progressing to Regular Visitors, and then Frequent Visitors.Beyond that, we have a categorized system: Kudo Ranks: Earned through kudos (teal icons).Post Ranks: Based on your posts (purple icons).Solution Ranks: Reflecting your solutions (green icons).Combo Ranks: These orange icons combine kudos, solutions, and posts. The top ranks have unique names, making your journey even more exciting! So dive in, collect those kudos, share solutions, and let’s see how high you can rank! 🌟 🚀   Check out the Using the Community boards in each of the communities for more helpful information!  Power Apps, Power Automate, Copilot Studio & Power Pages

Find Out What Makes Super Users So Super

We know many of you visit the Power Platform Communities to ask questions and receive answers. But do you know that many of our best answers and solutions come from Community members who are super active, helping anyone who needs a little help getting unstuck with Business Applications products? We call these dedicated Community members Super Users because they are the real heroes in the Community, willing to jump in whenever they can to help! Maybe you've encountered them yourself and they've solved some of your biggest questions. Have you ever wondered, "Why?"We interviewed several of our Super Users to understand what drives them to help in the Community--and discover the difference it has made in their lives as well! Take a look in our gallery today: What Motivates a Super User? - Power Platform Community (microsoft.com)

Top Solution Authors
Top Kudoed Authors
Users online (6,751)