Eclipse BIRT报告如何每天24小时显示

时间:2015-09-29 13:03:17

标签: oracle jdbc dataset birt

嘿我试图每小时每小时24小时显示如下:

 00,01,02,03,04,05 ....23.
  

使用Birt Jdbc连接数据集:

     

查询:

select count(*) task_num , to_char(end_time,'hh24') dt from t_student where end_time>='2015-09-28 00:00' and end_time<'2015-09-28 23:00 group by to_char(end_time,'hh24')
  结果就是这样   09,11,14但如果数据不可用,我需要添加   例如显示符号--null

     

预期结果如显示Eclipse Birt Table:   这里的task_num列值为3,6.

  dt_00  dt_01   dt_02 dt_03 dt_04 dt_05 dt_06 dt_06....dt_23   total
    3      --      6     --     --     --  --     --       --     9  
  

注意:我在下面提到链接,但我仍然无法解决它

.http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.birt.doc%2Fbirt%2Fsg-DisplayCreditLimitRangesInTheTableOfContents.html&cp=10_0_7_0_9

1 个答案:

答案 0 :(得分:0)

您需要在查询中生成空行,否则BIRT无法自行完成。最简单的方法是创建一个包含所有小时数的24行表,并为数据集使用左连接,例如:

select count(*) task_num , hour.dt 
from hour
left join t_student 
on hour.dt=to_char(end_time,'hh24')
where end_time>='2015-09-28 00:00' and end_time<'2015-09-28 23:00 
group by hour.dt

Oracle的另一个选择,似乎用户使用&#34; connect by&#34;生成this example中的实时时间范围。

然后在交叉表中,BIRT显示空白&#34;我们可以设置字符串值的属性&#34; - &#34;应该替换空值