《Cognos #15》延伸阅读-交叉表的自定义列
资料简介:
前言:
http://www.cognoschina.net/club/thread-8834-1-1.html中ChilamYan同学问到在一个交叉表,行是月份,列是年份,交叉值是支付金额。
想增加红色字部分的列,逻辑为显示年数减一,第一列为第二年开始,第二年对比第一年的增长率,第三年对比第二年的增长率,如此类推
如果动态不能实现,写死只有两年也行。
整理2个方式:1个是Hard Code写死的,1个是利用变量来完成.
具体如何应用还是看实际项目的需求
《壹》 利用Hard Code方式完成
1 结果图
2 Report studio设计
2.1 Report Studio设计页面
2.2 Query subject内的data item
2.2.1 Actual-Numerator_All包含原始全部资料(measure值)
这样一来我们就可以得到各个年度的值,接着就可以使用data item来做计算了
这样可以得到Hard Code写死的效果 至于如果要动态的,请看下一节
《貳》 利用变量来完成
1. 结果图
依照下拉选单选择年度,增长率随着变动,同时在标题处显示所选年度
2. 设计概念
Report Studio Page Explorer内的设计页面
年度下拉选单使用value prompt, 参数名为para_year
Query Explorer 内的Query Object/Data Items
增长率公式expression
[选择年度]-[选择年度-1])/[选择年度-1]
选择年度 & 选择年度-1 expression
3. 界面调整美化
我们接着就把做好的增长率拉到交叉表中,做些美化的动作
插入变量让选择年度自动显示,这有个小贴士:要记得打开锁才放得进去哦
调整数值的表现格式:利用Data Format来调整格式
4. 结论
一个报表有很多不同的方式可以达到,可以是Hard Code完成或是使用些动态的技巧,有的很快完成但不好维护,有的要花点时间但后续不需要花太多的时间来维护,各有优缺点。大家可以以此为范例应用在实际项目内。Anda也希望大家都不断的进步,一起互相讨论学习。
http://www.cognoschina.net/club/thread-8834-1-1.html中ChilamYan同学问到在一个交叉表,行是月份,列是年份,交叉值是支付金额。
想增加红色字部分的列,逻辑为显示年数减一,第一列为第二年开始,第二年对比第一年的增长率,第三年对比第二年的增长率,如此类推
如果动态不能实现,写死只有两年也行。
整理2个方式:1个是Hard Code写死的,1个是利用变量来完成.
具体如何应用还是看实际项目的需求
《壹》 利用Hard Code方式完成
1 结果图
2 Report studio设计
2.1 Report Studio设计页面
2.2 Query subject内的data item
2.2.1 Actual-Numerator_All包含原始全部资料(measure值)
[FACT1].[Actual-Numerator]2.2.2 Actual-Numerator_YYYY指包含对应年度的measure值
case when ([FACT1].[Year-Number]=2010) then ( [FACT1].[Actual-Numerator]) else (0) end2.2.3 新增2个年度的增长率
([Actual-Numerator_2009]-[Actual-Numerator_2008])/[Actual-Numerator_2008] ([Actual-Numerator_2010]-[Actual-Numerator_2009])/[Actual-Numerator_2009]3 结论
这样一来我们就可以得到各个年度的值,接着就可以使用data item来做计算了
这样可以得到Hard Code写死的效果 至于如果要动态的,请看下一节
《貳》 利用变量来完成
1. 结果图
依照下拉选单选择年度,增长率随着变动,同时在标题处显示所选年度
2. 设计概念
Report Studio Page Explorer内的设计页面
年度下拉选单使用value prompt, 参数名为para_year
Query Explorer 内的Query Object/Data Items
增长率公式expression
[选择年度]-[选择年度-1])/[选择年度-1]
选择年度 & 选择年度-1 expression
case when ([Year-Number]=?para_year?) then ( [利润]) else (null) end
case when ([Year-Number]=(?para_year?-1)) then ( [利润]) else (null) end
3. 界面调整美化
我们接着就把做好的增长率拉到交叉表中,做些美化的动作
插入变量让选择年度自动显示,这有个小贴士:要记得打开锁才放得进去哦
调整数值的表现格式:利用Data Format来调整格式
4. 结论
一个报表有很多不同的方式可以达到,可以是Hard Code完成或是使用些动态的技巧,有的很快完成但不好维护,有的要花点时间但后续不需要花太多的时间来维护,各有优缺点。大家可以以此为范例应用在实际项目内。Anda也希望大家都不断的进步,一起互相讨论学习。
2010-09-08
浏览10674
下载3
已下载用户的评价1.00分
您还未下载该资料,不能发表评价;
查看我的 待评价资源
查看我的 待评价资源
yangdajieBI主管南京易时代
没用
I am the freshman , thank you for your information .And because of your help ,I have the condfidence to learn the software step by step . And the website is so beneficial and maple . To be honest ,I search the website everyday ,and improve myself a lot .Thanks !
I am the freshman , thank you for your information .And because of your help ,I have the condfidence to learn the software step by step . And the website is so beneficial and maple . To be honest ,I search the website everyday ,and improve myself a lot .Thanks !