sql - Oracle Apex 4.2 图表胡佛问题

标签 sql oracle charts oracle-apex

我已经为其中一个部门构建了一个图表:

select 'f?p=&APP_ID.:802:'||:app_session||'::::P802_ENQ_DATE:'|| e.enq_date ||':'  link, 
cal_date as label,
 value1 as value 
from 
(select cal_date from time
where cal_date >= '01-'||:P802_SEARCH_MONTH and
cal_date <= last_day(to_date('01-'||:P802_SEARCH_MONTH, 'dd-mm-yy')) 

 ) t

LEFT OUTER JOIN

(SELECT
a.enquired_date AS enq_date,
COUNT(a.id) AS value1
FROM
ENQUIRY a 
group by a.enquired_date
) e 
ON
to_char(e.enq_date) = to_char(t.cal_date)
order by label ASC

要求是显示最终用户选择的月份中的每日查询数量。因此 :P802_SEARCH_MONTH 捕获月份名称并将此参数传递给时间表。时间表存储所有可能的日期,然后图表将每天的所有查询相加,并将它们与日期连接起来。显示所有可能的日期非常重要,因为在某些日子里没有任何查询,如果相反,则不会显示完整的日期范围。

无论如何,当您将鼠标悬停在图表的栏上时,它会显示“标签”

enter image description here

我需要在标签中包含当天的名称。我尝试扩展“t”语句:

    select 'f?p=&APP_ID.:802:'||:app_session||'::::P802_ENQ_DATE:'|| e.enq_date ||':'  link, 
full_date as label,
 value1 as value 
from 
    (select to_char(to_date(cal_date,'dd-mon-yy'), 'DAY')||' - '|| cal_Date as full_date from time
    where cal_date >= '01-'||:P802_SEARCH_MONTH and
    cal_date <= last_day(to_date('01-'||:P802_SEARCH_MONTH, 'dd-mm-yy')) 

     ) t

这不起作用。 Apex 没有抛出任何有意义的错误。非常感谢任何帮助。

最佳答案

不要更改您的源查询,t。 cal_date 是 DATE 列吗? (我认为它确实是一个日期列)

to_char(to_date(cal_date,'dd-mon-yy'), 'DAY')

如果是,则将日期转换为日期,然后应用格式掩码。不要将日期转换为日期。已经是约会了。
还要小心日期转换。在 apex 中,您应该始终使用显式格式掩码,而不是依赖隐式转换 - 否则有一天这会回来困扰您。

您需要更改LABEL

cal_date as label,

这将是工具提示值。现在您正在返回一个日期,这就是您将鼠标悬停在数据点上时看到的内容。数据库的格式掩码被简单地应用到它。
如果您想更改它,则只需将格式掩码应用于日期并在工具提示中显示即可。

select 'f?p=...' AS link, 
       TO_CHAR(cal_date, 'DAY') || ' - ' || cal_date AS label,
       value1 AS value 
from ...

关于sql - Oracle Apex 4.2 图表胡佛问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782727/

相关文章:

node.js - 在 Node-red 仪表板中显示普通图表或 D3J(通过模板?)

javascript - 如何在平行坐标图中使用不同方向的轴标签

mysql - WHERE 子句中的单列多行

sql oracle 使用更新

java - 无法再次将日期设置为空

sql - 选择在 X 月和 Y 或 Z 月购买的客户

mysql - 重命名 MySQL 中的重复行,WHERE IN () - 不能正常工作

sql - 如何将 LONG 数据转换为 TIMESTAMP 或 VARCHAR2?

php - 安全地减少用户余额列。我应该使用乐观锁定吗?

javascript - 如何将 Chart.JS 折线图标签居中对齐