How to visualize calendar event data with Power Platform tools
I have always been fascinated by how Power Platform can solve the same problem in several ways. There are countless implementation methods in Canvas Power Apps alone. When you add the rest of the Power Platform tools to the kit, you really start to find creative options.
Let’s illustrate this with a practical example. In this post I will be going through the different data visualization capabilities in both Power Apps and Power BI when workin on calendar data. We’ll see pros and cons of each approach, to help you decide which tools to apply in your own scenarios.
For this example scenario, our source data has units located in different areas. Units are subject to various events that have start and end dates. The data is stored in Dataverse. We want to visualize for the user what events are happening at any given time:
- as a whole
- in a certain area
- in a given unit
How could this be implemented?
Model-driven app and calendar view
Let’s start with the standard features. Since the events have a start and end time and a title, a model-driven app can present them by using the calendar control.
Let’s add a calendar view to the event table. This has to be done by the so-called classic view. Yes, these screens from the ’80s.
With the new tools, you can add a subgrid to the form, which presents the information in the calendar view. Let’s just add a calendar component to the subgrid.
And we can define which field is used as the start time, title, etc.
Now we can view the events of the unit on its form. The calendar has day, week and month views.
Of course, we can view all events at once. You can filter them or even create your own views for different areas.
But this doesn’t work well in the use case of our example.
Clicking on the event brings up a summary. We can’t change the information presented in the summary.
A good start, but not quite finished yet.
Let’s look at something else.
Visualization PCF component mode
You can use self-made components in Power Apps. These are called PowerApps Component Framework (PCF) components. Depending on the implementation, they can be used in model-based applications, Canvas applications or both.
We will not start implementing the necessary component ourselves, but we will check if someone has already done it.
In the PCF Gallery you can search for PCF components implemented by different authors. And there are immediately a few promising looking candidates.
The first of these was last updated 2 years ago.
Another of the options that work in the template-based application is even older than this.
I don’t want to install a component in my environment that hasn’t been updated in years. And who installs a component in their production environment that some consultant has found online? And there is no information about the author and his level of expertise.
Let’s reject this option too and come up with something else.
Power BI report embedded in Power Apps
Wait a minute. With the Power BI report, you can visualize events in the style of a Gantt chart. Let’s make a report on the events. All the goodies of Power BI are at our disposal! We can filter tasks as much as we like, i.e. from perspectives.
The report reads data directly (Direct Query) from Dataverse. This way, changes in events are always immediately visible.
A link is created for the events, from where it can be edited.
A custom page, which is practically Canvas Power Apps, is added to the template-based application.
Our custom page contains only two elements.
- To add a new button event (Navigate(Defaults(nameoftable)))
- An embedded Power BI report
The solution we made quickly does not look very attractive. However, we can use it to test the functionality of the idea.
The new event creation form opens with the New button.
After saving the event, the application returns to the edited page. And that’s where the new event is already visible!
Existing events can be modified from the Power BI report link.
Links in Power BI always open in a new tab. And you can’t control this. Confuses users quite a bit.
In addition, it is surprisingly laborious to make the layouts of the model-based application and the Power BI report consistent.
Maybe we try still try something else.
Power Apps visualization for Power BI
What if you implemented the entire tool as a Power BI report? We already have the events visualized. All that is needed is the Power Apps visualization embedded in the report to create and edit events.
Let’s add a new Power Apps visualization directly from the report and add a form to it to update the first row of the data set filtered from the report.
After editing the event, we also update the report from Power Apps (PowerBIIntegration.Refresh()).
This is convenient. The user does not need to update the report separately to see the changes he has made.
A quick experiment looks like this.
The solution feels a bit sticky. The selected row is slowly updated in Power Apps for editing. Saving the changes and the changes appearing back on the report also takes a while.
However, what disturbs the most is the appearance of the Power Apps embedded in the report. No matter how you finish it, it still seems to be a different pair with the report.
Canvas Power Apps
The last straw is to implement the entire solution as a single Canvas Power App. More to do, but it will be exactly as you want.
A gallery in the form of a Gantt chart is created, displaying the events of the selected month.
The application is responsive and events can be edited directly from the gallery. The forms can be adjusted exactly as desired.
If building this type of visualization seems like an exhausting challenge, you can take a model from, for example, the solution shared by Terho Antila.
Which of the aforementioned solutions is the best?
All have their pros and cons. Before making a decision, it is good to think about what the real requirements of the solution are:
- for features (how events are to be visualized, how convenient the creation and editing of events should be)
- for performance
- for the UI
If the development work is done by you, the selection may also be influenced by which Power Platform tools you have the most experience with. Alternatively, you can reach out to the team at Forward Forever to get help from professionals with Power Apps and Power BI data visualization experience to tailor a solution for your specific data and requirements.