oracle - ORACLE APEX 18 JET Chart 动态系列
问题描述
我在 Apex 5 中的所有图表中都使用 AnyChart。现在我升级到 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;
解决方案
现在不需要在 apex 中为多个系列使用动态 sql。
在系列区域中选择:系列 => 来源 => 区域来源
然后把你的sql查询放到主区源码中。
回到系列 => 列映射,您需要选择VALUE、LABEL和SERIES NAME以及查询的相应列。
推荐阅读
- python - Keras 中具有可变输入形状的 Flatten() 层
- rest-assured - 在 KarateAPI 中有类似 POJO 的功能?
- data-conversion - 转换 varchar 值时转换失败....
- google-bigquery - 过滤器下推到 BigQuery 中的存储层
- asp.net-mvc - MVC/Razor:使用下拉列表 onchange 事件中的参数和 actionlink 按钮值中的参数调用操作方法
- python - 当两列中有重复的单元格时,如何更改一列中单元格的值
- python - 预测新结果时检查模型输入 keras 时出错
- excel-2010 - 带错误值的 Excel 或函数
- python - 姜戈;使视图变薄的技巧
- php - 如何使用命名空间解析 SOAP XML-answer