When I first began using Mendix tools and creating Rapid App Dev projects, I was coming from a BI/Analytics career. I was very comfortable with SQL and immediately gravitated towards using it in Mendix as OQL Data Sets. I wrote a few other blogs on here (just search the tag “OQL”) and view some write-ups. Now we are up to v8.2 as of this writing and OQL/Java data source still exist as well as the reports. Do they still make sense?
Yesterday I was writing a report in Mendix for one of my clients and I hit a few different walls. For those that have worked with OQL and Mendix, you've undoubtedly hit the same walls. I searched for some help and frankly found very little. That's probably because it's a lightly used feature in the platform and therefore hasn't gotten a lot of attention from the development team for quite a while, which I completely understand, but I figured that as long as I'm using it and learning more about it, I should capture what I'm learning to help others out there that are hitting those same walls.
A month or two ago I wrote about using Document Templates for reporting. At that time I was pressed for time and needed to get a few reports in PDF form out the door. I even commented that I had tried to use the Report Pane and OQL built into Mendix but struggled with the process and didn’t really have time to dive into figuring it out. This past week, however, I couldn’t build the reports I needed to do using Data Grids or Document Templates. I went back to OQL feeling confident I could write the syntax to achieve what was needed and after a day and a half of trial and error, I figured it out. I’d like to share what I learned.
There will come a point during your project where the users will start to ask about getting information back out of this new, slick Mendix application that they are all putting data into. As a BI professional, I’m not talking about OLAP models and prediction modeling. OLTP (On-Line Transactional Processing) applications like the ones you build with Mendix are all about data capture and workflow transformation. But every mature application offers its users some ability to report on the information within it. I’m going to describe one method I use for building these reports in this post, so if that interests you read on!