web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Power App evaluation form
Power Apps
Answered

Power App evaluation form

(0) ShareShare
ReportReport
Posted on by 16

I need your support and hope you can help me. I want to build a PowerApp with a SharePoint list. The Power App is intended to display an evaluation form. The rating should be graded in the columns “—“ “-“ “+” “++”. The lines list 15 different categories that should be evaluated. The evaluation should be done with a checkbox, meaning the evaluation that applies is marked with a tick in the checkbox. Filling out the categories should be done per user, which means I want to have an overview page in which reviews that have already been filled out are displayed with a new button to create another user. I hope you can help me with that. If further information is required, please let us know.

 

For example, the form should look like this:IMG_3783.jpeg

Categories:
  • RogierE Profile Picture
    879 Moderator on at

    Am I right in guessing that you didn't start yet? 🙂 

    I would start if i were you with creating two SharePoint lists, one with the names of users, in which you show the standard ID column. This is to automatically create user ID's for any or a new user. 

     

    After this you create a list that is exactly as your above screenshot, with one addition, a column with UserID that is filled with 1 for your first user. I would use Choices columns so that you can pre-define what needs to be filled in per column. 

     

    After this you can create a PowerApp with 2 screens as you mentioned, and connect it to the 2 SharePoint lists. 

    In your first screen you will have a Datatable showing the users, and a button for selecting a single user and going to the next screen. (we'll get back to adding new users later). 

    The button would act with the OnSelect property like this:

    ClearCollect(colEvaluation,Filter('User Gradings',UserID=DataTable1.Selected.ID));
    Navigate(Screen2)

    So what it does is it creates a collection to work with for your selected user, and go to the next screen. 

    Now on the second screen I would add a Blank Vertical gallery with the colEvaluation as your Items, and create something like this:

    RogierE_0-1709155472088.png

    So you use text labels for your row (inside de gallery) and column (outside the gallery) headers, and add dropdowns to let the user choose gradings. The Items property of your Dropdown can be filled with the choices you preselected for your columns in the SharePoint list. e.g. I called SharePoint table 'User Gradings' and the first column A and then I can reuse the choices with this code in the Items property:

    Choices('User Gradings'.A)
    and to prefill the form with data that was already entered, I would have the Default property set to: 
    ThisItem.A.Value
    (the addition .Value is because your Choice column in SharePoint saves its data as a Record...)
     
    Now there is some tweaking and time needed on your side to let this work and look as you desire. Fill the SharePoint lists with some dummy data manually to see if you have the desired setup and functionality. If you come to that point, let me know and I can help you save data and add new users... 🙂 
  • jgrooters Profile Picture
    16 on at

    Many thanks for your response.
    But I have already tried several attempts, unfortunately I couldn't find a solution.

    I'll show you my Power Apps with screenshots so you can get an insight into where I'm stuck.

    jgrooters_2-1709188833070.png

     

    jgrooters_1-1709188485065.png

    jgrooters_3-1709188899950.png

    jgrooters_4-1709188917119.png

    I always encountered the following problems:
    1. The rating categories are not displayed to me.
    2. If a new user is now created, all rating categories must be displayed.
    3. The selection should be made using checkboxes.

     

    In addition, I would later like to be able to address the checkboxes for each category using Power Automate so that I can transfer them to a Word form using Adobe PDF Services.

     

    I hope you can help me.

  • Verified answer
    RogierE Profile Picture
    879 Moderator on at

    Oh nice!

    Your first screen looks fine, and I can see that you ran into an error on the second screen. This might be due to the fact that you are using a lookup column in your User Gradings table to connect to the User table. PowerApps is not very fond of lookup columns I believe. Could you in stead create a simple number column and enter the number 1 there ? 

    And did you use the 

    ClearCollect(colEvaluation,Filter('User Gradings',UserID=DataTable1.Selected.ID));

    to create the colEvaluation that you are showing in the items property of the Gallery? You could select the word colEvaluation in the Formula bar to check the actual contents of that collection. 

    And maybe check the exact errror that you are getting in the Gallery

  • jgrooters Profile Picture
    16 on at

    Thank you for the code, I implemented the code accordingly.

    Now when I click on a user I get the corresponding filtering.

     

    How does it work that I create new users and the corresponding categories are displayed so that they only have to be filled out. In addition, I would later like to be able to address the checkboxes for each category using Power Automate so that I can transfer them to a Word form using Adobe PDF Services.

     

    If you need a screenshot, please let me know.

  • RogierE Profile Picture
    879 Moderator on at

    You already had a button for creating a new user did you? I guess that is what I see with the +Neu in your first screen

    What you would need to do is to copy all rows of one user in the Evaluation list to a new set of rows for the new user. 

    After adding the new user with your +Neu button, you would need to do this to copy a new set of rows to your Evaluation list:

    ClearCollect(colNewEval,ShowColumns(Filter(Evaluations,UserID=1),"Title","UserID"));
    UpdateIf(colNewEval,UserID=1,{UserID:NewUserID});
    ForAll(colNewEval,
    Patch(Evaluations,Defaults(Evaluations),ThisRecord))
     
    The code might be a bit different from yours, so dont copy literally, build it up with your own variable, column, and list names. 
    What the code is doing is:
    1. Create a collection (local copy) of all rows with UserID=1 and only use the title and UserID columns with ShowColumns (if you want to recycle more columns, add them with double quotes
    2. Replace the UserID with the ID of the user you just created with the +Neu button
    3. Add (Patch) the rows back to the Evaluations table row by row (ForAll) as new records (Defaults)

    Enjoy!

    Please like the reply and/or accept it as the solution if the answer is what you were looking for.

  • jgrooters Profile Picture
    16 on at

    Thank you for the feedback. Ok, I have to correct myself, I can successfully create the user using the New button in the Users list. It also successfully copies the UserID as often as the user with ID=1 has the lines. Unfortunately it doesn't fill these "category" lines. I can't add the "category" to the formula either because then I'll run into an error. The Category column is a selection field.

     

    SharePoint List "User"

    jgrooters_4-1710233496836.png

     

    SharePoint List "User Grading"

    jgrooters_3-1710233461901.png

     

    Power App New Button

    jgrooters_5-1710233713219.png

    The error says that the specified column does not exist.

     

    OnSelect

    ClearCollect(colNewEval;ShowColumns(Filter('User Gradings';'UserID'=1);"UserID"));;
    UpdateIf(colNewEval;'UserID'=1;{UserID:3});;
    ForAll(colNewEval;
    Patch('User Gradings';Defaults('User Gradings');ThisRecord))

     

    Currently I have added the NewUserID manually. Can I also store this dynamically with a variable when the user is created? I hope you can help me.

  • RogierE Profile Picture
    879 Moderator on at

    Ah, nice! The nitty-gritty details!

    1. About the 'category' column that is not recognised: 

    I ran in to that sometimes. 9 out of 10 times this is because you renamed the column after first creating it. So if you rename a column, only the 'displayname' of that column is changed. If you check the column settings in SharePoint, in the URL you will find the original column name that you can refer to. Here for example I renamed a column named 'Recipient' to 'BlaBla':

    RogierE_0-1710263856191.png

     

    2. About using the  variable when the user is created:

    You have that data here, so you can connect to the values of either of these 2: 

    RogierE_1-1710264067915.png

    Don't forget to add Value() to your text, if UserID is a number column in your "User Grading" table...

     

    Please like the reply and/or accept it as the solution if the answer is what you were looking for.

     

  • jgrooters Profile Picture
    16 on at

    Many thanks for the support. 😊

  • jgrooters Profile Picture
    16 on at

    Hello @RogierE,

    In the galleries with the checkboxes I have the problem that if I check the checkbox it is not saved. I hope you can help me.

    jgrooters_0-1714055655660.png

    jgrooters_1-1714055704538.png

    gallery checkbox OnCheck property: false; OnUnCheck property: false

    gallery Items property: colEvaluation

     

    SharePoint list:

    jgrooters_2-1714055987299.png

    If further data or information is required, please let me know

  • RogierE Profile Picture
    879 Moderator on at

    Well, if the OnCheck and OnUnCheck are false, than it is obvious that nothing happens 😉

    But I guess that you could better use the OnChange property so that you can have a single piece of code to update your changes. Am I right in guessing that you want to save the data in the 1,2,I,F,N checkboxes in the --,-,0,+,++ columns? (I would advice to keep the naming congruent in front- and backend to make handover of your App in the future easier.

    What you would need to use as a formula in the OnChange property of the Checkmark1 is something like this:

     

    UpdateIf('User Gradings', ID=ThisItem.ID, {'--':Checkmark1.Value})

     

    Note: you can copy my code directly, but there might be slight value, source, naming and lannguage differences. So it is better to follow my lead but write/check the code yourself.

     

    One question though: have you considered making the grading a single column? That would save you a lot of work I guess. 

     

    Please LIKE the reply and ACCEPT it as the solution if the answer is what you were looking for.
    (to help me grow in community rank and help others find the solution)

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 342 Super User 2026 Season 2

#2
M Bilal Khan Profile Picture

M Bilal Khan 258

#3
Mohsin Ali Profile Picture

Mohsin Ali 231

Last 30 days Overall leaderboard