Skip to Main Content

About this page

Oracle APEX 5.1.3 introduced data densification logic, to automatically handle injecting missing data points in multi-series charts. With Oracle APEX 5.1.3, we introduced data densification logic, to automatically handle the injection of missing data points in a multi-series query. Any ORDER BY defined in the query will not be respected. Prior to 5.1.3, numerous customers got caught out by having missing data points in the chart JSON, thus resulting in data elements being rendered incorrectly on their charts. With patch releases we cannot introduce any UI changes, so the data densificiation logic is automatically applied to charts with multiples series of data. With our new release, 18.1, we have introduced a new 'Fill Gaps in Chart Data' chart-level option, that will allow you to opt out of having the densification logic applied to your chart, if you wish. By default, the new option will be set to 'Yes'. When set to Yes, we will apply data densification logic and default ordering by label, ascending. This corresponds with the behaviour you currently experience with 5.1.3 & 5.1.4. We have introduced an associated item, 'Sort Order', to allow you to define the ordering of the chart data - value-ascending, value-descending, label-ascending, label-descending. That 'Sort Order' option will only be available when 'Fill Gaps in Chart Data' is set to 'Yes'. When set to No, our data densification logic will not be applied to the chart. In that case, the customer will have to ensure that their chart query correctly handles the generation of a multi-series chart with a data point for every x-axis label. For a single series chart, customers must use an ORDER BY clause in the chart query, to control the ordering of data elements. We have included a number of examples on this page to demonstrate the new options.

Single Series Chart - using ORDER BY (Value, asc)

The Fill Gaps in Chart Data chart-level attribute is ignored for a single-series chart. The chart series ORDER BY is respected, controlling the ordering of the chart data.

Multi-Series Chart - Densified, Sorted By Label, desc

The Fill Gaps in Chart Data chart-level attribute is set to On, and associated attribute Sort Order is set to Label-Descending, meaning that densification logic is applied, and we will automatically inject any missing data points in the chart series JSON. The Sort Order setting controls the ordering of the chart data.

Multi-Series Chart - Stacked, with Stack Label

The Fill Gaps in Chart Data chart-level attribute is set to On, and associated attribute Sort Order is set to Label-Descending, and Render Gap as Zero is set to On, meaning that densification logic is applied, and we will automatically inject any missing data points in the chart series JSON. Those injected data points will have a value of zero. The Sort Order setting controls the ordering of the chart data.

Multi-Series Chart - using ORDER BY

The Fill Gaps in Chart Data chart-level attribute is set to No, meaning that no densification logic is applied, and the customer's query is responsible for fully populating the chart series JSON. The query ORDER BY clause is respected, controlling the ordering of the chart data.