图表组合型报表开发指南 -----伊朗演示 1 、 新建报表 运行Birt 报表开发工具后 命名,选择保存的目录,然后 Finish。 2 、 新建数据源 开发工具的菜单栏,打开Ou tline 窗口: 如下: 右击 数据源 ,选择新建: 如上图选择,数据源名称自定,Nex t: 从“驱动程序类”的下拉列表中选择对应数据库的的驱动,若没有需要的,则选择“Manage Driv ers”按钮: 将对应数据库的驱动程序添加进来,回到上一步选择驱动程序类: 输入数据库连接信息: URL::jdbc:oracle:thin:@10.40.200.69:1521:osstest User:bi71 Passw ord:smart 可测试: 3 、 创建数据集 右击“数据集”,选择“新建数据集” 上面选择前面新建的数据源 3 .1 、主数据集 Nex t: 主数据集 sql: select B.PROVINCE_NAME PROVINCE, C.PACKAGE_TYPE_NAME PACK, COUNT(1) TOTAL_SUBS, SUM(CASE WHEN A.STATE = 0 THEN 1 ELSE 0 END) AS CHRUN_SUBS, SUM(CASE WHEN A.STATE = 1 THEN 1 ELSE 0 END) AS NEW_SUBS, SUM(CASE WHEN A.STATE = 1 THEN 1 ELSE 0 END) - SUM(CASE WHEN A.STATE = 0 THEN 1 ELSE 0 END) AS INCREASE_SUBS, SUM(CASE WHEN A.IN_STATE = 1 THEN 1 ELSE 0 END) AS SILENCE_SUBS, SUM(CASE WHEN A.IN_STATE = 2 THEN 1 ELSE 0 END) AS USAGE_SUBS, SUM(D.TARGET_VALUE) AS TARGET_SUBS, (SUM(CASE WHEN A.STATE = 1 THEN 1 ELSE 0 END) - SUM(CASE WHEN A.STATE = 0 THEN 1 ELSE 0 END)) / COUNT(1) AS INCREASE_RATE from f_width_call A, D_PROVINCE B, D_PACKAGE_TYPE C, TMP_SUBS_TARGET D WHERE A.Province = B.PROVINCE_ID AND A.Package_Type = C.PACKAGE_TYPE_ID AND A.PROVINCE = D.PROVINCE_ID AND A.PACKAGE_TYPE = D.PACK_TYPE_ID AND (substr(A.PRD_ID,1,6)=? or ? is null ) AND (A.Province = ? or ? is null ) GROUP BY B.PROVINCE_NAME, C.PACKAGE_TYPE_NAME 3.2、从数据集(对应 Month 的查询条件) 同样新建数据集: Nex t: Month 条件的sql: select distinct to_char(to_date(D_TIME_PERIOD.PRD_ID,'yyyy-MM-dd'),'yyyyMM') AS Y_M from D_TIME_PERIOD 3.2、从数据集(对应 Province 的查询条件) 同样新建数据集: Nex...