为了适应BIRT图形对类别域与值域两个必填项的支持,我们有时需要对SQL进行连接运算,如下:
select
'已使用' as "USED", sum(overallCpuUsage) as "VALUES"
from T_CONFIGS_HOST
union
select
'未使用' as "USED", sum(cpuHz/1024/1024 - overallCpuUsage) as "VALUES"
from T_CONFIGS_HOST
但由于中文的原因,导致产生的数据集出现乱码,截图如下:
解决办法的思路是所有的编码都采用UTF-8,故修改BIRT的JDBC数据库连接为:
## 将localhost改为数据库的地址
jdbc:mysql://localhost/cloud?zeroDateTimeBehavior=convertToNull&characterEncoding=utf8
再次测试,BIRT已能顺利读取中文,最后图形展示效果如下:
结论
BIRT支持了几乎所有的通用图形,还支持图形的个性化定制,所以利用BIRT可以做出令人惊艳的图片效果。