cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Bernd_K
Level: Powered On

Show a list of properties for an array of objects in a matrix presentation

Suppose you have entity 'Company' filled with a growing number of companies. Further suppose that a field in the Company entitity is an action list (which is an entity with a number, e.g. 90 different actions).

 

The business process is that you track the progress of each action from the list for any of the companies. Progress status is being monitored as '0%' (meaning not yet started), '50%' (meaning work on the action is started), '100%' (meaning the action is completed), or 'n/a' (meaning that this particular ac tion is not relevant for the considered company).

 

Done so far:

I made the entities as CDS entities. I use O365, premium. I can show the companies and edit the status of each action. Done by using the simple 3-screen solution for a standard canvas app (but based on CDS entities).

 

Where I need some suggestions:

What I want to achieve is to make an overview screen in PowerApps that shows in matrix form the status (color coded) of each of the actions for any of the companies. I would like to see kind of a dashboard as dots or squares, with companies as header columns and actions as header rows. And coloured dots or squares as status indicator of the action. List may scroll vertically, the number of companies shown should ideally also be scrollable

 

Does anybody have a tip on how to best approach this visualisation as matrix? Showing actions vs companies as a matrix is the central problem that I want to solve. Any further improvements, like filtering or grouping of actions or companies, are nice to have, but not essential.

2 REPLIES 2
Highlighted
Community Support Team
Community Support Team

Re: Show a list of properties for an array of objects in a matrix presentation

HI @Bernd_K ,

Could you please share a bit more about the data structure of your CDS Entity?

Do you want to display your CDS reocrds using a matrix table, and use companies as header columns and actions as header rows?

 

I suppose that you want to create a matrix table based on your CDS Entity records within your app as below:2.JPG

Is it true?

 

If the needs you want to achieve just like that as above, I afraid that there is no direct way to achieve your needs in PowerApps currently.

As an alternative solution, I think the Gallery control could achieve your needs. I have made a test on my side, please take a try with the following workaround:3.JPG

 

4.JPG

 

5.JPG

 

6.JPG

Within your app, add three Gallery controls as above. On my side, set the OnStart property of the App control to following:

ClearCollect(
            CompanyRecords,
            {CompanyName: "Company A", ActionName: "Action1", ProgressStatus: "0%"},
            {CompanyName: "Company B", ActionName: "Action1", ProgressStatus: "50%"},
            {CompanyName: "Company C", ActionName: "Action1", ProgressStatus: "100%"},
            {CompanyName: "Company D", ActionName: "Action1", ProgressStatus: "50%"},
            {CompanyName: "Company A", ActionName: "Action2", ProgressStatus: "50%"},
            {CompanyName: "Company B", ActionName: "Action2", ProgressStatus: "0%"},
            {CompanyName: "Company C", ActionName: "Action2", ProgressStatus: "100%"},
            {CompanyName: "Company D", ActionName: "Action2", ProgressStatus: "0%"},
            {CompanyName: "Company A", ActionName: "Action3", ProgressStatus: "100%"},
            {CompanyName: "Company B", ActionName: "Action3", ProgressStatus: "100%"},
            {CompanyName: "Company C", ActionName: "Action3", ProgressStatus: "0%"},
            {CompanyName: "Company D", ActionName: "Action3", ProgressStatus: "n/a"}
)

Set the Items property of the Gallery1 to following:

Distinct(CompanyRecords, CompanyName)

Add a Label control within Gallery1, set the Text property to following:

ThisItem.Result

Set the Items property of the Gallery2 to following:

Distinct(CompanyRecords,ActionName)

Add a Label control within Gallery2, set the Text property to following:

ThisItem.Result

 

Set the Items property of the Gallery3 to following:

Distinct(CompanyRecords, ActionName)  /* <-- Same as that in Gallery2 */

Add four Label controls within Gallery3, set the Text property of each Label controls to following:

LookUp(CompanyRecords, ActionName=ThisItem.Result && CompanyName="Company A", ProgressStatus)
LookUp(CompanyRecords, ActionName=ThisItem.Result && CompanyName="Company B", ProgressStatus)
LookUp(CompanyRecords, ActionName=ThisItem.Result && CompanyName="Company C", ProgressStatus)
LookUp(CompanyRecords, ActionName=ThisItem.Result && CompanyName="Company D", ProgressStatus)

Please check the following GIF screenshot for more details:Test.gif

Please take a try with above solution, then check if it could achieve your needs.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Bernd_K
Level: Powered On

Re: Show a list of properties for an array of objects in a matrix presentation

Dear Kris,

 

Thank you very much for your elaborate reply, wonderful! I understand your approach,  and yes, the resultof your solution is very close to wht I was looking for (the only pint is that I would like to use colour coded results. Red - 0%, orange 50% and green 100%)

I'll give it try, and for that, I need to find a way to populate the CompanyRecords in your solution; which is clear when I would have informed you with some more detail of the data structure of the CDS entity that I made:

- the number of actions is 100; the ActionsList CDS entity has several fields that are dropdown values,

- Another CDS entity is the Compamny, which consists of three simpel text field.

- and finally, there in one CDS named ActualActions which holds values for the ActionList for each record of the Company CDS.

 

So the final challenge now is how to populate the CompanyRecords, given the CDS structure as sketched above.... if you have another tip for how that can be done ... that would be great!

 

Helpful resources

Announcements
thirdimage

Power Apps Super User Class of 2020

Check it out!

thirdimage

New Badges

Check it out!

thirdimage

Power Apps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

SecondImage

Difinity Conference

The largest Power BI, Power Platform, and Data conference in New Zealand

Top Solution Authors
Top Kudoed Authors
Users online (5,025)