加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长百科 > 正文

oracle-apex-5.1 – Oracle APEX图表 – 显示无效数据

发布时间:2021-01-13 22:10:55 所属栏目:站长百科 来源:网络整理
导读:我有一个显示价值标签和百分比的仪表图表.它基于返回VALUE和MAX_VALUE的查询.在某些情况下,查询返回0作为MAX_VALUE,然后图表显示消息“无效数据”.我相信这是因为除以零而发生的.如何防止显示此消息并返回0作为VALUE和MAX_VALUE以及0%? SELECT NUM_FAILED

我有一个显示价值标签和百分比的仪表图表.它基于返回VALUE和MAX_VALUE的查询.在某些情况下,查询返回0作为MAX_VALUE,然后图表显示消息“无效数据”.我相信这是因为除以零而发生的.如何防止显示此消息并返回0作为VALUE和MAX_VALUE以及0%?

SELECT NUM_FAILED VALUE,TOTAL_NUM MAX_VALUE
 FROM
(
SELECT (
    SELECT COUNT(*) FROM (select t1.name,t1.run_id
    from Table1 t1
    LEFT JOIN Table2 t2 ON t1.ID=t2.ID
    WHERE t1.START_DATE > SYSDATE - 1
    GROUP BY t1.name,t1.run_id)
) AS TOTAL_NUM,(
    SELECT COUNT(*) FROM (select name,run_id
    from Table1 t1
    LEFT JOIN Tabe2 t2 ON t1.ID=t2.ID
    where t1.run_id IN (SELECT run_id FROM Table1 where err_code > 0)
    AND  t1.START_DATE > SYSDATE - 1
    GROUP BY  t1.name,t1.run_id)
) as NUM_FAILED
FROM dual)

解决方法

感谢您发布查询.

如果你想避免0,那么DECODE怎么样?

SELECT decode(NUM_FAILED,1E99,NUM_FAILED) VALUE,decode(TOTAL_NUM,TOTAL_NUM ) MAX_VALUE
FROM (the rest of your query goes here)

你没有说明事后发生了什么(即究竟是什么导致除零 – 是NUM_FAILED还是TOTAL_NUM)?这个想法是:除了除以零,除以一个非常大的值(例如1E99),你会得到一个非常小的数字,例如:

SQL> select 24/1E99 from dual;

   24/1E99
----------
2,4000E-98

SQL>

实际上是零.看看你是否可以用这种方法做点什么.

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读