Я использовал AnyChart для всех своих диаграмм в Apex 5. Теперь, когда я обновился до 18.2, AnyChart теперь является «устаревшим». Итак, я хотел обновить свою диаграмму, чтобы использовать JET Chart.
В моей диаграмме использовалось «Тело функции PL / SQL, возвращающее SQL-запрос». Тело моей функции PL / SQL динамически строит мой запрос, и количество отображаемых серий может варьироваться. Поскольку я не знаю, сколько серий у меня будет, я не могу указать свою серию в диаграмме.
Вот мое тело функции PL / SQL:
DECLARE
l_selected APEX_APPLICATION_GLOBAL.VC_ARR2;
l_sql VARCHAR2(4000) := '';
BEGIN
--
-- Convert the colon separated string of values into a PL/SQL array
l_sql := l_sql || 'SELECT NULL link ';
l_sql := l_sql || ' ,year_month label ';
l_selected := APEX_UTIL.STRING_TO_TABLE(:P16_SELECT_LIST);
--
-- Loop over array to insert department numbers and sysdate
IF l_selected.count = 0 THEN
l_sql := l_sql || ' ,NULL "no data" ';
ELSE
FOR i IN 1..l_selected.count LOOP
l_sql := l_sql || ',MIN(DECODE(sqn, '''||l_selected(i)||''', srt_cnt, NULL)) "'||l_selected(i)|| CASE WHEN REGEXP_LIKE(TRIM(l_selected(i)), '^[[:digit:]]') THEN ' Sqn' ELSE NULL END||'"';
END LOOP;
END IF;
l_sql := l_sql || ' FROM flight_and_mmh t ';
l_sql := l_sql || ' WHERE snapshot_fk = :P27_SNAPSHOT_LIST ';
l_sql := l_sql || ' AND INSTR('':'' || :P16_SELECT_LIST || '':'' , '':'' || sqn || '':'') > 0 ';
l_sql := l_sql || ' GROUP BY t.year_month ';
l_sql := l_sql || ' ORDER BY t.year_month ';
RETURN l_sql;
END;





В настоящее время нет необходимости использовать динамический sql для нескольких серий в апексе.
В области серии выберите: серия => Источник => Источник региона
Затем поместите свой sql-запрос в исходный код основного региона.
Вернувшись в серию => Отображение столбцов, вам нужно выбрать ЦЕННОСТЬ, МЕТКА и НАЗВАНИЕ СЕРИИ с соответствующими столбцами вашего запроса.