Mendix HowToDashboard
Mendix HowToDashboard
105 1,337 59
Weekly average 100
Task list
An actionable dashboard is generally a landing page for a Reporting dashboards involve rolling up and analysing
user and the type you’re likely to build in Mendix. It should large groups of data. This is best accomplished with an
show them any current key data that may need attention external tool such as Power BI or Grafana. It also usually
and point them towards today’s actions or other common includes point-in-time or comparative reporting.
tasks.
Mendix dashboard samples…
Aggregating data…
If you’re creating a dashboard you’ll more than DashboardData
likely need some aggregated data. So let’s start with TotalOrders (integer)
PaymentValue (decimal)
a non-persistent entity… DelayedDel (integer)
DailyDashboard
SF_CreateOrder
TotalOrders (integer)
PaymentValue (decimal)
DelayedDel (integer)
DateStamp (DateTime)
MonthlyDashboard
TotalOrders (integer)
PaymentValue (decimal)
DelayedDel (integer)
SCH_Rollup_Dashboard_Data DateStamp (DateTime)
OQL
When aggregating large sets of data or multiple values you can use a query language called OQL. OQL is a lot like SQL but there are
some subtle difference, check out the OQL Guide for more info. It allows you to execute a single query and return multiple aggregated
values in one go. All you need is a non-persistent entity with matching attributes ready to receive the data.
To do this you’ll first need to visit the Marketplace and download the OQL Component. This will allow you to execute your OQL queries.
We can do this by providing a JSON structure file and using an Export Mapping to convert our data retrieved from the
table. This can then be added to a non-persistent entity to serve up to the chart on your page.
4
ChartData 3
SF_Aggregate
dOrders
JSON_Orders_By_Day 2
Data (string)
1
0
AggregatedDataList
Mon Tue Wed Thu
List of AggregatedData
Dashboard design tips… Different users may need different dashboards. Don’t be
afraid to create multiple dashboards!
Large KPI Values
These are great for highlighting
areas at a glance, through use of Time frame
dynamic colours, that may need Always make sure you state what
attention. Try not to have more
Last 7 days time frame the data on the
than 4 on a page. Total Orders Payments taken ($) Delayed deliveries dashboard covers. The time frame
427 2,012 48 should preferably be consistent
across the whole dashboard.
Avoid large blocks of data Weekly average 400
(Sometimes you might need
If you need to show a list of Task list unique sections though)
data, such as a task list or
pending orders, try and keep
the list short with only the key Pie, Donut, Heat map charts
information shown. The user These charts are often misused so
can then click through for use with caution. Avoid using
more info. them with large groups of data
or data that has very similar
ranges for each group.
Bar, line and column
• Great for comparing data groups
• Line charts should have no more than 5 lines
• Bar/Column charts should have no more than 8 bars This is just a few options. Mendix allows for almost unlimited
• If there’s no logical sort for the data (time for example) creativity through SASS, widgets on the Marketplace and your own
then try to sort biggest to smallest custom pluggable widgets!
Exposing data for a reporting dashboard…
When you want to do an external reporting dashboard the easiest way to accomplish this is to publish
your data as an OData source. You can then connect to this using Power BI, Grafana or Excel, and then
use your chosen software to slice up the data and display it how you want to.
It’s worth giving some consideration as to whether this is the right solution though. If you require
comparative reporting (one period vs another), point-in-time reporting, or to combine data from
multiple sources then it might be worth considering publishing your data to a Data Warehouse.