中国式复杂报表开发探索(下)
正在加载中...
中国式复杂报表开发探索(下)
作者:秦昕旭
前言
本文集合了作者的多年来的中国式复杂报表制作与研究经验,详细描述了复杂中国式交叉报表、中国式列表、纵向合并交叉表、横向合并交叉表、用SQL编写列表、用SQL编写交叉表等技巧过程的实现方法及详细步骤。以多张报表为例,图文结合,为您分步骤详细诠释如何实现“中国式报表”。使得读者可以根据本文全面学习“中国式报表”的制作方法,并快速上手进行实际制作。学习本文,能够极大缩短您的“中国式报表”的制作时间,让大家全面的认识中国式报表。相信本文对大家会有所帮助——作者,秦昕旭。
书接上文
3.纵向合并交叉表的使用
新建一张空白报表,从左边可插入对象窗格中拖入两个交叉表,然后拖入报表中用到的数据项。
再从左边窗格中拖入一个 2 行 1 列的表格,并将交叉表分别至于一个表格单元中。
设置两个表格单元格的边框 ( 上边单元格下边框为空,下边单元格上边框为空 ),水平位置,垂直位置以及页边距。
设置交叉表各列的宽度为固定值,并调整列名不换行,从而保持上下两个交叉表的各列能够对齐。
拖入交叉表空间添加到各交叉表行头,并编辑相应标题,设置第一个交叉表角为空单元格,调整第二个交叉表中数据项的上边框为空,并设置交叉表角以及列头的方框类型为无,从而隐藏第二个交叉表的列头。
调整报表的字体,位置,背景颜色,以及边框,完成后运行报表,从而两个交叉表就完美的纵向拼在一起了。总而言之,在实际开发过程中,要结合报表需求,合理选用报表类型,固定高宽,调整边框,实现行头 / 列头的共用。
4.横向合并交叉表的使用
新建一张空白报表,从左边可插入对象窗格中拖入两个交叉表,然后拖入报表中用到的数据项。
再从左边窗格中拖入一个 1 行 2 列的表格,并将交叉表分别置于一个表格单元格中。
设置两个表格单元格的边框 ( 左边单元格右边框为空,右边单元格左边框为空 ),水平位置,垂直位置和页边距。
设置行、列上的数据项属性“空白”为不换行,防止有新的数据时因宽度不满足而自动换行,设置行的高度为固定值,这样保持行的高度都一致。
为保持报表更加整齐美观,可以将列的宽度也设定为固定值。设置交叉表的表格属性为固定大小。
设置第二个交叉表的行头以及交叉表角的方框类型的属性为无,从而隐藏第二个交叉表的行头,实现两个交叉表共用行头的目的;并设置指标的数据格式为用户希望的数据格式。
拖入交叉表空间设置列头,调整边框,完成后运行报表。至此两个交叉表就完美地拼接成一个报表了。倘若再遇到这类需要分片处理的报表需求,我们也轻而易举得做到了。
最终的实现效果,如上图所示。
5.用SQL编写列表的使用
1).选择模型后,新建列表;
2).修改表头文字;
3).页体内加入两个块,把表格拖入第二个块,居中报表,修改报表查询名称叫“报表查询”,第一个留作查询与单位使用;
4).在第一个块中拖入文本项目,输入文字“年月:”,拖入值提示,输入或者选择参数YM,使用数据项关系模型.日期.年月,创建查询“年月查询”,过滤报表查询,设置值提示为自动提交并设置默认年月;拖入文本项目,输入“(单位:万箱)”,调整各组件位置;
5).进入报表查询,添加一个sql查询项作为报表查询项的数据源(属性中选择数据源),编写sql,生成结果集,并在报表查询里面拖入结果字段,修改字段的显示名称,修改报表查询的属性“处理”为仅限本地,在页面拖拉报表生成需要的样子;
6).如何在sql中使用cognos的参数;
在sql 的where条件中写入条件,如YM=#prompt('YM','INT')#,其中prompt表示使用cognos参数方法,’YM’使用参数名,’INT’参数的数据类型;
7).如何制作两层以上的列表表头:
打开 report studio,选择 GO数据仓库(分析),新建一张列表;
从左边可插入对象窗格中选择销售名字空间中中报表用到的数据项拖入列表中;
从菜单栏依次选择 结构, 选择 页眉和页脚, 选择 列表页眉和页脚, 添加 整体页眉,列表自动插入一行页眉,也就是报表上新增加的整体行。
选中整体行,从菜单栏依次选择结构,选择页眉和页脚,选择在单元格下方插入行 , 行数中填入 3,这时在列表列上方多了3行;
编辑表头。依次将报表头的列名拖入或编辑在相应的新插入的单元格,对于需要合并的单元格可留空;
合并单元格。选择 国家/区域- 登上装备之间的五个空白单元格,然后单击工具栏中的 合并单元格,使其成为一个单元格,同样的方法对其他的空白单元格进行合并。
调整报表头单元格的边框、文本字体以及位置,然后设置列表的列标题为 隐藏( 默认是列表开头),再设置整体的方框类型为无,从而隐藏原列表的列表头以及页眉行。
设置在分部区域列上分组。单击分部区域列,选择工具栏中的分组按钮,数据就会根据 分部区域列进行分组。
8).调整报表的样式:
点中报表,右键弹出应用报表样式。
修改表头及第一列维度(如果有)背景颜色为3399cc,文字颜色白色加粗,表头边框银白边,文字居中,排序数值居中,数值居右,保留两位小数,百分比显示%号。
6. 用SQL编写交叉表的使用
指标聚合函数使用:总计,维度使用:自动
至此,中国式复杂报表开发探索已经为大家全部介绍完毕,本文是我多年研究的心血,在这里分享给大家,希望能够对大家有所帮助,谢谢。
本文章提供下载:
中国式报表开发探索(上):http://www.cognoschina.net/club/thread-62263-1-1.html