In Oracle APEX bar chart, there must be a value for all the labels for all months in the chart. Otherwise data gets shifted to left in case of null value for each label.
For eg, in month of december, there is no value for Manager. so your query result is:
Clerk - 2
Analyst - 1
Adjust your query such that your output is
Analyst - 1
Refer this thread
This should be fixed in APEX 5.1.3 ... and you are running on ???
Check on 5.1.3. also clashed with this, when in REGION several SERIES. in 5.1.3 groups by now LABEL
The patch I think does not fix anything (: Check in the Attributes-Settings-Chart "Time Axis Type"- should be only "-Select-" selecting "Automatic" or "Skip Gaps" will not match the grouping "Series"
"Time Axis Type" will only work with time (date)
Well, I also need to be updated.
Maybe you have an NLS problem.
The abbreviation for december "DEC" is language dependend. In German it would be "DEZ".
November would be "NOV" in both languages, april would be "APR" in both.
Best is to write such queries in a way so that they are language independend.
select job, count(job) as "Number of employees" from emp where to_char(HIREDATE, 'MON') = 'DEC' GROUP BY job
select job, count(job) as "Number of employees" from emp where to_char(HIREDATE, 'MM') = '12' GROUP BY job
Or even better use an extra column to supply the MONTH value. Then use this date value in the series.
Depends a little if you want to compare the values only for each year or accross all years.
select job, trunc(hiredate,'MM') as hiremonth, count(job) as "Number of employees" from emp GROUP BY job, trunc(hiredate,'MM')