You can make your data look like anything, out-of-the-box, as previously highlighted by Christina and Carsten.
When you create a classic report, you can select different Report templates via the region attributes. I use the Cards and Alerts a fair bit, allowing me to produce data driven content, instead of whatever I type in the application builder.
This has been the general premise of APEX templates since the beginning. We define a query, and feed those columns to the template, where the values are substituted in.
|Alerts Report Template|
select 'Alert' as alert_title ,'Be alert, not alarmed.' as alert_desc ,null as alert_action ,'danger' alert_type ,'fa-user-woman' alert_icon from dualThis doesn't need to be from dual, it can be any query you like, as long as it contains those column aliases. Multiple rows will show multiple alerts, down the page. The alert_type can be any of the pre-defined template options for that attribute.
Over time these templates get upgraded, and now we operate with the Universal Theme, we gain access to improvements after verifying the theme.
For instance, APEX 5.1 introduced #CARD_COLOR# attribute to limit the manual CSS required to make it happen.
What the Alerts Report template still lacks is the ability to customise the icon (as at 19.1).
We can customise the icon with a declarative Alert Region, by setting the Template Option Alert Icons to 'Show Custom Icons', and specific the icon in the Icon field.
// replace icon in template, since we can't do it in SQL yet $('#acting .t-Alert').removeClass('t-Alert--defaultIcons').find('.t-Icon').addClass('fa fa-user-woman')
Here I find the region I gave a static ID of 'acting', then removes the default icons from the component with the
It then finds the
t-Iconclass to extend with my chosen icon.
This transforms it to exactly what a declarative Alert region looks like.
This example was built for a report with only one record, but hopefully gives you an idea of the potential these type of events have. Check out similar example here.