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

Beginner Design Question: Building Quick Gradebook/Scoring Form

Hi, all-- forgive a beginner's question, but I am trying to build a quick peer-review gradebook for one of our teachers. We want to have a form which lists the class roster, and gives a dropdown 1-5 scoring list for each student. I want to write this back to an Excel sheet that will store the student's name and score. I've tried two things so far:

1) I made a gallery which pulled the roster, and lets us select a student and enter a score. This is great except that I have to hit submit each time, rather than being able to add all of the scores at once and hit submit. 

2) I tried to create a custom form where each data card had two controls: the number box and a label containing the students name. I can get the score to pass to the form, but I can't get the student's name to write back.

 

Any suggestions on how to approach this would be much appreciated! Thanks--

9 REPLIES 9
Delid4ve
Impactful Individual
Impactful Individual

1: I've not checked this is possible, but I'm pretty sure it is..
On the gallery I'm assuming when you select an item it takes you to a form to enter the score..
What about, within the gallery adding a dropdown for the score, removing the arrow to navigate to the form and instead having 1 confirm button on the screen thats set to Patch gallery.allitems back to your list. Like I say I don't know if this is possible. Another way would be to set the dropdown in the gallery on change property to patch the list(this definitely works as I use this method in my app).

2:is the score and student name in the same list? If so it should be a case of setting the form data source to your list and the item property to gallery.selected. It all depends on how the data is stored tho

Delid4ve
Impactful Individual
Impactful Individual

Just thought about this aswell.. are you using the form on submit function..
From experience, this doesn't show errors on updating fields and you would be better off using the patch function with a filter. It may be that on the data card for student name the update function is wrong, especially if you are using student name but it is stored in the list as an ID number for student from a different list, in this case you would have to set the update property to a lookup(listname,studentname = datacardvalue.text,ID)

Thanks for your help! I'm following your suggestions, and I created a gallery with a dropdown menu. Question: will this create new entries for each score, or will this replace/update the score each time? I'm concerned that it seems like there will only be one master column in my Excel table for "Score," and that value will get replaced with each update. Perhaps I'm not familiar enough with Patch.

 

On another note, I added the drop down menu to the Gallery control, and I set the Items field to = ThisItem.Score (name of column in data source). I have an error that "The property expects table values, but this rule produces incompatible Text values." 

 

Thanks again for your help!

Take a step back, we need to get your data structure right first.

Looking at your post im assuming you want to grade multiple subjects/exams.

1st step, your going to need three lists.

list 1: Students. for starters just create 1 column with their name, you can add other bits later.

list 2: subjects. again, for starters 1 column with the subject name in.

list 3: Grades. 4 columns in this 1, Subject,Grade,student,date.  Set all the column types as numbers except the date, which will be of type date (we will be populating this with the ID from each of the students and subjects lists, and assuming the grade is also a number (if its not then use whatever field type is necessary, keep away from lookup, we can set the choices within powerapps)

 

get started with that and ill post further.

Delid4ve
Impactful Individual
Impactful Individual

Within power apps we are going to need the following screens:

Screen 1: screen to choose what to do - this can have buttons on it with the onselect property set to navigate to each of the next

screen 2: screen to input results for each student for a given subject.

screen 3: screen to view results for a specific student

You can add screens later in order to add new subjects and students and view results by subject.(by then you should have a fairly decent understanding.

 

Screen 1

Each button should have its on select property set to:

Navigate(ScreenName,ScreenTransition:none)

 

Screen 2 - im going to set this up for a single subject, you can change this later if required by moving the dropdown to the gallery and changing your formulas slightly, but at the moment i assume you only want to input for 1 subject but multiple students.

 

Add a dropdown at the top of the screen and set its items property to Subjects on the advanced tab.(the name for your subjects list)

Set its value property to SubjectName (the column name in your list)

Add a date picker also to the top of the screen.

 

Add a gallery.  Set its items property on the advanced tab to Students (the name of your list which contains the students)

Now go to the properties tab and click data, you can now choose ust a simple 1 line gallery and set this to student name.

This should now populate with your students names.

Select the first gallery item so that the section box comes up around it, add a new control, dropdown.  You should see this dropdown get populated in each gallery item (for each student).

Select the dropdown in the first gallery item and on the advanced tab set its items property to [1,2,3,4,5,6,7,8,9,10] (this assumes your grades are 1-10)

Now set the on change property of the drop down to the following:

 

If(IsEmpty(Filter(Grades,Date=DatePickerName.Selected.Value And Subject = LookUp(Subject,SubjectName=SubjectDropdownName.Selected.Value,ID And Student = Thisitem.ID))),Patch(Grades,Defaults(Grades),{Student:Thisitem.ID,Grade:GradeDropdown.Selected.Value,Subject:LookUp(Subjects,SubjectName=SubjectDropdown.Selected.Value,ID)}),Patch(Grades,{ID:LookUp(Grades,Student=Thisitem.ID And Date=Datepickername.Selected.Value And Subject=LookUp(Subjects,SubjectName=SubjectDropdown.Selected.Value,ID),ID),{Grade:GradeDropdown.Selected.Value}))

 

Its not very clean but it will show you how im referencing things, there are better ways to achieve it but this wil help you understand a few functions.  So above we first ask a question wi the If function, that question is: For my selected date, subject and student does a record already exist in the grades table (IsEmpty) .

We then give it something to do for true, so my record doesnt exist so im going to add it (patch).  The defaults part of the patch function will automatically give the record an ID number.

then we give the function a false value. So my record does exist, so im going to update it.  We lookup the ID number for the row using the values we have, and then ammend the grade to the new value. (remember, if we put in a wrong grade and we change it we dont want to create a new record, just ammend the one already created.

 

Doing it this way saves having multiple screens and allows you to enter all the grades without having to confirm or submit anything.

 

Screen 3

 

Add a dropdown and set its items property to Students (listname of your students), change the value property to StudentName

Add a gallery and Set its item property to 

Filter(Grades,Student=Lookup(Students,StudentName=Dropdownname.Selected.Value,ID))

Select the first gallery item and insert a label.

Set the label text property to:

Lookup(Subjects,ID=ThisItem.Subject,SubjectName)

Add another label and set its text property to Thisitem.Grade

 

Probably a few mistakes in their as i havnt tested and had a few beers 🙂 youll have to ensure any names are correct such as dropdown/datepicker names and column/list names but it should give you the foundation of your app to move forward.

Once you get used to the syntax and functions it gets easy.  You could also add in a column for the user that submitted the grade, you can reference the logged in user using User().FullName.

 

Hope this helps.

Delid4ve
Impactful Individual
Impactful Individual

Apologies, ive just posted (waiting approval) but just realised you are using excel as your source, not sharepoint.  I havent had any experience with excel but you should just be able to modify parts of what i have posted to do what you want.  Based on wat you are tring to achieve though, i believe using  database would be a better option going forward and a sharepoint site (private to your organisation) would be a better option for scalability if this is going to be used on a regular basis and throught school years etc.

jtillinghast
Frequent Visitor

This is a little simpler than a full grade book. The end result is that we want to be able to run averages, plot trends over time, etc. I have a data table right now that has five columns: student name, timestamp, submitter ID, score, and a text field for comments. My original plan was to record every entry as a running list of records, so that we could just query the list for assignments matching last name. I have a separate table which is just all the names in the class.
jtillinghast
Frequent Visitor

And yes, I might be better off with a database. Since this is my first power apps run and I'm not very experienced in SharePoint, I wanted to stick with a data source I was comfortable operating, but perhaps that was too limiting?
Delid4ve
Impactful Individual
Impactful Individual

SharePoint sounds scary, I could never understand it for a long time. Now I find uses for it everyday.
I have posted a full breakdown of what you need to do, but for some reason it has gone to waiting approval, maybe because it has code snippets in it. Should show up soon, I hope.
As you have already got your data sources into powerapps from excel you should be able to convert my post for SharePoint into excel format.
Your going to need 3 tables in excel.
1 for students which you have with an ID number
1 for subjects/assignments with an ID number
1 to keep track of grades.
The grades table should have the student ID, subject ID, grade and date
This way you can keep a list of all grades for each student in each subject.
Obviously your excel file has to always be available, whereas the SharePoint way would always be online.
You could always use Microsoft flow to collect data every time a grade is added and automatically produce and email a certificate, generate reports for each student or subject.
Since discovering SharePoint, flow and powerapps it has opened my eyes to how much I can automate and save myself endless time. Watch out my my post to go live, sure it will get approved soon.

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 (7,409)