I'd like to get my head around some basic reporting within the PowerApp I'm building.
The App itself is a staff database around staff development.
I have some fields within the PowerApp that I would like to have a Dashboard style page report on.
The first two being:
Each staff record has an 'Active' drop down field that has Yes / No option. My first two would be How many Active Staff do we have & How many Inactive staff do we have and report back a figure like the picture below.
When a user selects; for example, 'Total Active Staff', I want this to navigate to a new window & gallery to show those results.
Thanks 🙂
oh and a shout out to @WarrenBelz for taking the time out of his evening and helping me solve a problem that was sending me to an early grave!
Solved! Go to Solution.
So in general, this is all about data shaping.
You've not provided a lot of detail on the data that you have, so I will assume a few things.
For your Gallery, you would have something along these lines for the Items property:
Table(
{Title: "Total Active Staff",
Items: Filter(yourData, Active.Value = "Yes")
},
{Title: "Total Inactive Staff",
Items: Filter(yourData, Active.Value = "No")
},
{Title: "NQP 12 Month Review",
Items: Filter(yourData, criteriaFor12MonthReview)
},
...etc..
)
In the Gallery, a Label for the Title ThisItem.Title
A label for the Count: CountRows(ThisItem.Items)
Now, in the OnSelect of the Gallery, navigate to the screen you want to show the List of associated items.
In that screen...a Gallery with an Items property of yourDashboardGallery.Selected.Items
That will show only those that meet the criteria.
I hope this is helpful for you.
So, let's discuss that a bit.
The Table of records for your Dashboard gallery is not related to any particular record or dataset. It is very custom. It DOES have the filtered list of records that match that criteria.
Since you have this information, you can do this...
In the OnSelect of your Gallery set a global variable. We need to do this because you will likely edit a record down the road and your datasource will change. This will cause the Gallery to reevaluate its items property and thus the selected item in the Gallery will change. So, setting a snapshot of the current record will be helpful.
So, OnSelect: Set(glbCurrentRecord, ThisItem); Navigate(yourBrowseScreen)
On that screen, you will have a Gallery (let's call it Gallery2). The Items property of the Gallery will be set to : glbCurrentRecord.Items
As a bonus, you can put a Label on the screen as well and set its text property to : glbCurrentRecord.Title
In that Gallery, you can set the OnSelect to: Navigate(yourEditFormScreen)
On that screen you have an EditForm with a Datasource of your current datasource and an Item property of: Gallery2.Selected
In the OnSuccess of the EditForm: Back()
This should give you what you are looking for.
So in general, this is all about data shaping.
You've not provided a lot of detail on the data that you have, so I will assume a few things.
For your Gallery, you would have something along these lines for the Items property:
Table(
{Title: "Total Active Staff",
Items: Filter(yourData, Active.Value = "Yes")
},
{Title: "Total Inactive Staff",
Items: Filter(yourData, Active.Value = "No")
},
{Title: "NQP 12 Month Review",
Items: Filter(yourData, criteriaFor12MonthReview)
},
...etc..
)
In the Gallery, a Label for the Title ThisItem.Title
A label for the Count: CountRows(ThisItem.Items)
Now, in the OnSelect of the Gallery, navigate to the screen you want to show the List of associated items.
In that screen...a Gallery with an Items property of yourDashboardGallery.Selected.Items
That will show only those that meet the criteria.
I hope this is helpful for you.
I only wanted to tackle a few items at a time to save it all getting complicated and any misunderstanding.
The above image is made from Labels only, I have not inserted a gallery here - Maybe this is not the best way of going around this type of thing?
Please correct me if I'm wrong, I wanted the larger numbers to report the totals based on the set query but the 'OnSelect' navigate to a gallery showing that query in a gallery view.
No, the Gallery is Perfect! You don't want to do this in a control by control way as you will then have a ton of controls to fiddle with forever. Use a Gallery, do the labels and etc. the way you want and all the rest is done.
In this case, I would say if you want that look, use a Gallery with a WrapCount set to 4.
Use the Items property like I showed.
That will give you exactly what you are looking for. Set the label sizes, fonts, colors, etc as you like.
Beside the OnSelect of the Gallery to navigate to another screen, there is nothing else you need than what was provided.
OK - I have changed that and it's all working well.
Now because I'm calling the same records up as in my original Gallery from when creating this app, the 'Right Arrow' that would normally take you to the Record Details screen 'Select(Parent)' is not working on these new galleries.
On my original galleries the right arrow opens the DetailsScreen1 and DetailForm1
So, let's discuss that a bit.
The Table of records for your Dashboard gallery is not related to any particular record or dataset. It is very custom. It DOES have the filtered list of records that match that criteria.
Since you have this information, you can do this...
In the OnSelect of your Gallery set a global variable. We need to do this because you will likely edit a record down the road and your datasource will change. This will cause the Gallery to reevaluate its items property and thus the selected item in the Gallery will change. So, setting a snapshot of the current record will be helpful.
So, OnSelect: Set(glbCurrentRecord, ThisItem); Navigate(yourBrowseScreen)
On that screen, you will have a Gallery (let's call it Gallery2). The Items property of the Gallery will be set to : glbCurrentRecord.Items
As a bonus, you can put a Label on the screen as well and set its text property to : glbCurrentRecord.Title
In that Gallery, you can set the OnSelect to: Navigate(yourEditFormScreen)
On that screen you have an EditForm with a Datasource of your current datasource and an Item property of: Gallery2.Selected
In the OnSuccess of the EditForm: Back()
This should give you what you are looking for.
Ok this has confused me - to many galleries to think about.
My current setup is:
Dashboard Screen
This has two galleries on it. One gallery (Gallery5) with WrapCount2 and another (Gallery5_1) with WrapCount4.
The right (selection) arrows on these are set to navigate to Dashboard Report1 Screen or Dashboard Report2 Screen.
Dashboard Report 1
Has a gallery called 'Gallery2' which has the typical vertical gallery on it which displays the filtered results from the Dashboard Screen (Gallery5)
Dashboard Report 2
Has a gallery called 'Gallery2_1' which has the typical vertical gallery on it which displays the filtered results from the Dashboard Screen (Gallery5_1)
My original Browse, Detail and Edit Screens which are connected to my Data Source
BrowseScreen1 has 'Gallery1'
DetailScreen1 has 'DetailForm1'
EditScreen1 has 'EditForm1'
Since you have this information, you can do this...
In the OnSelect of your Gallery set a global variable. We need to do this because you will likely edit a record down the road and your datasource will change. This will cause the Gallery to reevaluate its items property and thus the selected item in the Gallery will change. So, setting a snapshot of the current record will be helpful.
So, OnSelect: Set(glbCurrentRecord, ThisItem); Navigate(yourBrowseScreen)
On that screen, you will have a Gallery (let's call it Gallery2). The Items property of the Gallery will be set to : glbCurrentRecord.Items
As a bonus, you can put a Label on the screen as well and set its text property to : glbCurrentRecord.Title
This is where I am getting confused -
Set(glbCurrentRecord.........) needs to be set on the Dashboard Screen galleries 5 and 5_1 and then navigate to Dashboard Report or my original BrowseScreen1??
Then :glbCurrentRec....... needs to be set on the Dashboard report screens Gallery 2 and 2_1 ??
I'm not sure the confusion. What I suggested was two galleries 1) the dashboard and 2) the list of items for the selected dashboard item. Yours now has 5 galleries??
Let me walk through it again.
1) Your main screen has One Vertical Gallery with a wrap count of 4.
The Items property is:
Table(
{Title: "Total Active Staff",
Items: Filter(yourData, Active.Value = "Yes")
},
{Title: "Total Inactive Staff",
Items: Filter(yourData, Active.Value = "No")
},
{Title: "NQP 12 Month Review",
Items: Filter(yourData, criteriaFor12MonthReview)
},
{Title: "NQP 18 Month Review",
Items: Filter(yourData, criteriaFor12MonthReview)
},
{Title: "NQP 14 Month Review",
Items: Filter(yourData, criteriaFor12MonthReview)
},
{Title: "Staff without Mentor/Preceptor",
Items: Filter(yourData, criteriaFor12MonthReview)
},
{Title: "BLANK",
Items: Filter(yourData, criteriaFor12MonthReview)
},
{Title: "BLANK",
Items: Filter(yourData, criteriaFor12MonthReview)
},
)
In that Gallery you have two Labels. One that has the Text property set to ThisItem.Title and the other that is set to CountRows(ThisItem.Items)
To get the look you have, I would set the Title Label to a large Height and set the Fill property to the light grey color you have. Also set the VerticalAlign to Top and the Align to Center. Adjust font sizes and such as you wish.
I see no arrow as you say, and it is not really needed. Just set the OnSelect property of your Gallery to : Set(glbCurrentRecord, ThisItem); Navigate('Dashboard Report 1')
2) On the Dashboard Report 1 screen - a Gallery (Gallery2) that has its Items property set to: glbCurrentReport.Items
3) The OnSelect property of your Gallery2, Navigate(DetailScreen) or EditScreen depending on what you want to happen when someone clicks on an item in that list.
4) The Item property of all of your forms should be set to Gallery2.Selected
That's it. You don't need multiple Report screens or two galleries on the main screen.
Made adjustments as your recommendation, Unfortunately PowerApps is not happy with something:
This image is from Dashboard Screen - OnSelect property
This image is from Dashboard Report Screen - Items property
I did mention that these screens are an addition to an existing app which already has Browse, Detail and Edit screens, if I change my Detail and Edit forms to work from Gallery2.Selected, the original screens will fail to function. Maybe this will help you see where I am coming from?
So the idea of the Dashboard is to break the data down (filter) and then I want to be able to edit that if needed, but I wanted to be able to use the original Detail and Edit screens.
Something is not right on your first formula. Where are you putting this formula? It should be on the OnSelect action of the Dashboard Gallery. I am noticing the formula editor is stating a datatype of Boolean...that is not normal for an OnSelect.
What error are you getting on the other forms?
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!
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 in the Forums 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 of SolutionsSuper UsersNumber of Solutions @anandm08 23 @WarrenBelz 31 @DBO_DV 10 @Amik 19 AmínAA 6 @mmbr1606 12 @rzuber 4 @happyume 7 @Giraldoj 3@ANB 6 (tie) @SpongYe 6 (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. Community MembersSolutionsSuper UsersSolutions @anandm08 10@WarrenBelz 25 @DBO_DV 6@mmbr1606 14 @AmínAA 4 @Amik 12 @royg 3 @ANB 10 @AllanDeCastro 2 @SunilPashikanti 5 @Michaelfp 2 @FLMike 5 @eduardo_izzo 2 Meekou 2 @rzuber 2 @Velegandla 2 @PowerPlatform-P 2 @Micaiah 2 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 Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27 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 Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8 SunilPashikanti8
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.
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