cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ShadowTech
Post Prodigy
Post Prodigy

Dropdown menu for pie chart

Hello,

 

Looking to create a pie chart with a dropdown menu that users can see different data in the pie chart based on the dropdown menu selections which include by "current year" and "current month" of the column called "Status". The column  is a "Choice" SharePoint column. In addition to the SharePoint column I need to see the total count of each value.

 

Example below:

 

pie.jpg

 

 

Active 10
Waiting Approval 5
Complete 6
Not Accepted 3

 

 

 

 

 

dropdown.jpg

 

 

 

Thanks in advance.

2 ACCEPTED SOLUTIONS

Accepted Solutions
RandyHayes
Super User
Super User

@ShadowTech 

Yes, but there is a trick to this.  One involves copying and pasting your Items formula for the PieChart - which I definitely hate to do (OHIO - Only Handle Information Once).

So, the method I use is to add a dynamic table variable to the app.  What is a dynamic table variable you might ask...well, I'll tell you the steps:

1) Add a new scrollable screen to your app. (we will be deleting this screen shortly)

2) On that screen, select the Canvas that it has (let's say it is Canvas1) and resize it, especially drag the top of the canvas down to a new Y location (this breaks some of the other formulas that get generated on that scrollable screen - we want them to break).  You can rename this canvas if you like.

3) In that canvas, there will be a DataCard (let's say it is DataCard1).  Let's rename that to dcdPieData

4) Make that datacard small - it will not contain anything in it so the smaller the better.  Do the same with the Canvas size...make it small.

5) Select the Canvas and Cut it (ctrl-X) from the screen.

6) Select the new screen you created and Delete it

7) go back to your PieChart screen and paste (ctrl-V) your canvas to that screen.  At this point you can also set the Visible property of the Canvas to false

😎 Go into the properties of the dcdPieData datacard and set the Update property to the following:

{PieData:
    ForAll(
        SortByColumns(
            GroupBy(
                AddColumns(
                    Filter(yourSharePointList, (Created>=yourDropdown.Selected.start) && (Created<=yourDropdown.Selected.end)),                
                    "_status", Status.Value
                ), 
                "_status", "records"
             ), 
             "_status"
         ),
         {Value: Coalesce(_status, "Blank"), 
          Count:CountRows(Filter(records, Status.Value=_status)),
          Legend: Coalesce(_status, "Blank") & " " & CountRows(Filter(records, Status.Value=_status)
         }  
    )
}

9) Now change the Items property of your PieChart to the following: dcdPieData.Update.PieData

10) Change the Items property of the Legend to : dcdPieData.Update.PieData.Legend

 

Now, this will all change dynamically based on your dropdown selection.  Your pie chart will have name only labels and your legend will have name and count.

 

 

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

@RandyHayes That did it! Awesome! Thanks so much for your help Randy.

 

Quick question: If I have a label that I want to count all new records for the current day, would I use the following? As this for some reason is only showing "0". I doing based on "Created".

 

CountRows(
Filter('Credit Memo', Created = Today())
)

 

Thanks again.

View solution in original post

34 REPLIES 34
RandyHayes
Super User
Super User

@ShadowTech 

Can you provide a little more detail on the data you are working with and what your dropdown would be like?  In general, you are just needing a filter for the Items of your pie chart.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@RandyHayes Hi Randy.

Basically, its a SharePoint list with a "Choice" column called "Status" with choice values (Active, Waiting Approval, Complete, Not Accepted).

 

I need a pie chart representing these values from this column. The dropdown menu will have two selections (Current year, current month) which the pie chart values will be based on the selection in the dropdown menu. Also need a legend that shows the actual total count of each value per "Current year" or "current month. Basically when "current year" is selected in the dropdown menu the pie chart and legend changes to show the proper chart proportions and the legend count changes as well.

 

The legend can be just a label as well.

 

I hope that clarifies.

 

Thanks again.

RandyHayes
Super User
Super User

@ShadowTech 

This is all fine.  I am not sure though still what the date relates to - you mention "Current Year" and "Current Month", that is all fine, but what is the relationship to the data?  Are you trying to filter based on the created by date, or some other column?  And...is it a date column?

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@RandyHayes I get your point. I did not factor in the changing of the status. Then I think forgoing the dropdown menu and show the data based on current month. So when the month changes it only shows statistics for that month automatically. So basically as we are in the month of January, it will show only created records for the month of January from the Status column. Then when February comes it shows statistics just for February. I guess this can be based on creation date?

RandyHayes
Super User
Super User

@ShadowTech 

So, then for your dropdown, I would provide the following formula for the Items property:

Table(
   {disp:"Current Year", start:Date(Year(Now()), 1, 1), end:Date(Year(Now(), 12, 31)},
   {disp:"Current Month", start:Date(Year(Now()), Month(Now()), 1), 
        end: DateAdd(DateAdd(Date(Year(Now()), Month(Now()), 1), 1, Months), -1, Days)}
)

Set the Value to display in the properties to disp (probably will default to it)

 

For your Pie Chart, set the Items property to the following:

ForAll(
    SortByColumns(
        GroupBy(
            AddColumns(
                Filter(yourSharePointList, (Created>=yourDropdown.Selected.start) && (Created<=yourDropdown.Selected.end)),                
                "_status", Status.Value
            ), 
            "_status", "records"
         ), 
         "_status"
     ),
     {Value: Coalesce(_status, "Blank"), 
      Count:CountRows(Filter(records, Status.Value=_status))
     }  
)

 

This will give you a table of records for the pie chart that will have records for each status value.  The records will have a Value and a Count column.  The Value will be the name of the status and the Count will be the count of the records that match that status.

 

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@RandyHayes This is what I'm seeing below for the Dropdown and pie chart:

 

dropdownerr.jpgpieerr.jpg

@RandyHayes I'm not seeing any data show up in either the dropdown nor the pie chart.

@RandyHayes Ok so I noticed a parentheses missing in the formula for the drop down. I now see data but I'm not seeing an actual number count next to the values in the legend like for example: Active 12.

RandyHayes
Super User
Super User

@ShadowTech 

Please scrub through the formulas I provide as I type them by hand without the aid of a design editor.

There was a missing paren in the dropdown item property, should be this:

Table(
   {disp:"Current Year", start:Date(Year(Now()), 1, 1), end:Date(Year(Now()), 12, 31)},
   {disp:"Current Month", start:Date(Year(Now()), Month(Now()), 1), 
        end: DateAdd(DateAdd(Date(Year(Now()), Month(Now()), 1), 1, Months), -1, Days)}
)
_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Welcome Super Users.jpg

Super User Season 2

Congratulations, the new Super User Season 2 for 2021 has started!

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Users online (2,777)