用Birt(商业智能报表)制作交叉报表(显示学生成绩)
如果大家看不到效果图,可以到我的百度空间看原始贴 :http://hi.baidu.com/518bc/blog/item/38ebe5fa0a2e7d9259ee9045.html ([bo]为什么用去起 Discuz!代码[/bo] )
<1>我们先建立一个简单的数据库模型,虽然说简单,但是为了后期扩展,尽量将表设计更加细些.
但是,在本例中,我们只用到我们所关心的表.截图如下(图一目了然我就不多说了):

<2>我们将数据库模型导出脚本,这里我们就导出为Mysql 4.0吧.(这里根据你的需要导出成你自己的数据库类型)
<3>打开eclipse创建一个工程,在这里我们就不介绍如何安装Birt插件了.在这里我们假设大家都熟悉开发工具了,所以我们直接跳到如何建立报表了.
我们建立一个报表名为:studentScorce.rptdesign
1 . 创建数据库连接,如下图 (mysql的数据库连接方式,请注意导入mysql数据库驱动):

2.创建data Set记录集,名字为:Dataset,如图:

3. 创建Data Cubes 名为:DataCubeList,截图如下:
1.

注意选中Dataset,

注意建立两个分组,即subject_Group(以科目分组)和StudentName_Group(以学生姓名分组),组下面分别对应左边的字段subjectname\studentname,summary Filelds下是achicvement,这样就基本建立成了.
2.:建立

,选中"DataCubeList" ,
完成后切换到

布局
这样就可以看到

3 .绑定数据

4. 切换到 Data Explorer

将 DataCubeList 展开,并将三个数据拖到对应的位置,如下图

就这样OK了,如果需要设置CSS样式,可以粗略的设置一下,如果想对比原始数据,可以直接将Dataset拖到布局区.
最后的效果图如下:

[[it] 本帖最后由 ming206 于 2008-5-16 14:20 编辑 [/it]]