《Cognos #15》延伸阅读-交叉表的自定义列

本资料无预览

如感兴趣请购买后下载

立即下载

资料简介:
前言:
http://www.cognoschina.net/club/thread-8834-1-1.html中ChilamYan同学问到在一个交叉表,行是月份,列是年份,交叉值是支付金额。

1.jpg



想增加红色字部分的列,逻辑为显示年数减一,第一列为第二年开始,第二年对比第一年的增长率,第三年对比第二年的增长率,如此类推

如果动态不能实现,写死只有两年也行。

整理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)
end
2.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分

您还未下载该资料,不能发表评价;
查看我的 待评价资源
ares9527ares9527软件开发工程师天网2014-02-18
没用
研究下试试的
Notes_chenlongNotes_chenlong软件开发工程师everlasting2012-10-29
没用
高手呀,新人学习了。
Notes_chenlongNotes_chenlong软件开发工程师everlasting2012-10-18
没用
太详细了,牛人
日杰日杰软件开发工程师新软科技有限公司2012-10-15
没用
正在学习。。。
yangdajieyangdajieBI主管南京易时代2012-08-28
没用
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 !
yangdajieyangdajieBI主管南京易时代2012-08-28
没用
it's great! However ,sometimes ,after I read the word ,I felt ambiguous .
alma916alma916ETL开发工程师cognos2012-08-15
没用
好东西,收藏一下
Cognos_菜Cognos_菜软件开发工程师高伟达软件股份有限公司2012-06-21
没用
学习学习
日杰日杰软件开发工程师新软科技有限公司2012-03-29
没用
顶一下,好东西。。
zhu_yizhu_yi软件开发工程师ABC2012-03-24
没用
这个 一定要支持

贡献者

anda其它,vipabc
X社区推广