【cognos技巧】Cognos列表型交叉表的应用
资料简介:
传统报表的两种显示方式,即列表和交叉表,是对于显示页面和数据表的映射方式而言的。
数据库表总是行存储的,获取时也是按照行获取。因此列表的显示是从行列表到行显示的直接映射,交叉表显示是从行列表到交叉表的矩阵映射关系。
从列表和交叉表的显示方式,还可以派生出一些特殊的显示方式,其中变化较多的是交叉表。传统的交叉表行和列都放置数据库维度字段,而中心部分用于显示数据,特殊的显示方式包括行上放数据库维度字段,而列上放置度量(数据),同时也可以列上放数据库维度字段,而行上放置度量(数据),以上是两种单边显示的方式;如果在行上采用多个维度交叉,而行上采用单一维度交叉,这样,行上的交叉部分可以看成是列表型显示,而列上可以看成是交叉型显示,这种方式从数据映射的角度来看仍然属于交叉表,但是从显示的特征来看类似列表显示的分组汇总。
2. 相关说明
交叉表显示区域:
普通交叉表显示的方式:
该表明确说明行、列的交叉关系。
嵌套交叉表的显示:
该表也能够表示明确的交叉关系。
列表型交叉表:
类似分组汇总列表的交叉表,列上未放置维度字段,但是左上角仍然保留说明交叉关系,只是显示上已经不明显。
基于交叉表的列表型报表:
从映射方式来看,上表完全是一个普通的嵌套交叉表,但是从显示方式来看,行上已经类似列表分组汇总形式的显示,而列上则是仍然保留交叉表的显示方式。在显示方式上,只是变更了右上角的交叉角部分。
3. 实现方式
STEP1:根据映射逻辑制作嵌套交叉表
STEP2:隐藏交叉角
设置后,列上的交叉表空间左移2格(和行上交叉的深度有关),如下图
STEP3:插入交叉表空间
插入交叉表空间的目的是为了使上一步左移的交叉表空间复位,插入的数量和左移个数相等
本步产生的两个新的交叉表空间
STEP4:隐藏多余的交叉表空间
隐藏以上红框中的交叉表空间,方法同STEP2。
STEP5:设置新增交叉表空间的行表头
STEP6:修饰
为了强调显示逻辑,对显示样式做修饰
通过以上修饰,在业务逻辑上更像是一个列表分组汇总实现的,但是在列上又有交叉显示,即动态显示列数,这个是列表难以具备的灵活性。
4. 交叉列表的局限性
交叉列表的实现方式决定了其本身的复杂性,即在显示阶段对嵌套交叉表多了进一步渲染,因此在效率上略低于普通嵌套交叉表,而要明显低于动态列显示的列表。因此在使用上,要特别注意可能由于嵌套交叉表而引起的本地数据处理影响性能。
4.1. 其它说明
正式鉴于交叉表灵活性上的强大功能,在使用上,如果允许分组汇总(不强制不分组),则交叉表不失为一种灵活的报表框架.
数据库表总是行存储的,获取时也是按照行获取。因此列表的显示是从行列表到行显示的直接映射,交叉表显示是从行列表到交叉表的矩阵映射关系。
从列表和交叉表的显示方式,还可以派生出一些特殊的显示方式,其中变化较多的是交叉表。传统的交叉表行和列都放置数据库维度字段,而中心部分用于显示数据,特殊的显示方式包括行上放数据库维度字段,而列上放置度量(数据),同时也可以列上放数据库维度字段,而行上放置度量(数据),以上是两种单边显示的方式;如果在行上采用多个维度交叉,而行上采用单一维度交叉,这样,行上的交叉部分可以看成是列表型显示,而列上可以看成是交叉型显示,这种方式从数据映射的角度来看仍然属于交叉表,但是从显示的特征来看类似列表显示的分组汇总。
2. 相关说明
交叉表显示区域:
普通交叉表显示的方式:
该表明确说明行、列的交叉关系。
嵌套交叉表的显示:
该表也能够表示明确的交叉关系。
列表型交叉表:
类似分组汇总列表的交叉表,列上未放置维度字段,但是左上角仍然保留说明交叉关系,只是显示上已经不明显。
基于交叉表的列表型报表:
从映射方式来看,上表完全是一个普通的嵌套交叉表,但是从显示方式来看,行上已经类似列表分组汇总形式的显示,而列上则是仍然保留交叉表的显示方式。在显示方式上,只是变更了右上角的交叉角部分。
3. 实现方式
STEP1:根据映射逻辑制作嵌套交叉表
STEP2:隐藏交叉角
设置后,列上的交叉表空间左移2格(和行上交叉的深度有关),如下图
STEP3:插入交叉表空间
插入交叉表空间的目的是为了使上一步左移的交叉表空间复位,插入的数量和左移个数相等
本步产生的两个新的交叉表空间
STEP4:隐藏多余的交叉表空间
隐藏以上红框中的交叉表空间,方法同STEP2。
STEP5:设置新增交叉表空间的行表头
STEP6:修饰
为了强调显示逻辑,对显示样式做修饰
通过以上修饰,在业务逻辑上更像是一个列表分组汇总实现的,但是在列上又有交叉显示,即动态显示列数,这个是列表难以具备的灵活性。
4. 交叉列表的局限性
交叉列表的实现方式决定了其本身的复杂性,即在显示阶段对嵌套交叉表多了进一步渲染,因此在效率上略低于普通嵌套交叉表,而要明显低于动态列显示的列表。因此在使用上,要特别注意可能由于嵌套交叉表而引起的本地数据处理影响性能。
4.1. 其它说明
正式鉴于交叉表灵活性上的强大功能,在使用上,如果允许分组汇总(不强制不分组),则交叉表不失为一种灵活的报表框架.
2011-02-10
浏览4338
下载6