【贝克汉姆】多页面、控制导出和选择性导出报表

本资料无预览

如感兴趣请 1 金币购买后下载

立即下载

资料简介:
PS:本作品属个人产权、若有相同需求者可以与我联系。
备注 如果有需求请将你的QQ号跟帖 我会及时与你取得联系

-----------------------------------------------------------------------------
一、开发背景
  IBM Cognos BI组件Report Studio目前最受用户欢迎、广泛使用,结合JS开发报表是一位报表开发高手必备的技能。根据过去最令人头疼的问题:如何开发多页面、如何控制导出格式和选择性导出,本次参赛作品针对这些问题进行研讨并找到其解决方案。

开发环境:数据库 IBM DB2、IBM Cognos BI10.1、IBM Cognos BI PowerCube、Firefox 或IE6
二、应用方向
  本次作品主要应用在各行各业、日常RS报表的界面开发中:
  1、如何在RS的多个page中切换
  2、如何控制导出到PDF/XLS/CVS等格式的显示区域:如默认情况下有些标签都被显示在PDF格式中,但可以控制其不生成在PDF/XLS中
  3、如何选择性的导出单页面的内容:如单页面中有多个显示区域、容器,用户可根据实际需求选择哪个显示区域可导出、哪些不需要导出
三、模型分析
  本次数据采用IBM Cognos10.1 Sample的多维数据模型Sales and Marketing,分析各个地区、产品的销售、成本和销售计划情况


四、业务分析
   page 1、分析产品的销售收入和计划销售情况
   page 2、分析产品销售金额与成本
   page 3、分析利润率
   page 4、明细查询
五、报表展现

1、多页面切换:上述4个业务展现,我们将在4个page页面分别展现,如何灵活做到切换不同的page:
  A、拖入一个html,定义参数pTabToShow:
  B、定义 字符串变量 pageShow:page1,page2,page3,page4,表达式如下:
    Case ParamValue('pTabToShow')
    When 'page1' then ('page1')
    When 'page2' then ('page2')
    When 'page3' then ('page3')
    Else (‘page4’) end
  C、新建4个页面,名字分别为sales planned and revenue、product  cost、gross margin、Detail query,其生成变量分别对应 page1、page2、page3、page4


  D、切换JS代码:在每个页面放置4个Html,HTML1内容如下:
Sales planned and revenue
将参数pTabToShow赋值page1切换到page1,同理HTML2,HTML3,HTML4。
  E、展示效果如下:(如果想做漂亮一点,则需要设置其背景颜色和CSS特效)


2、导出控制:显示页面中有些内容是不必导出到PDF/XLS中的,如参数标签、工具栏信息等。
  A、获取当前页面展示格式:新建字符集变量 display format: HTML,PDF,XLS,表达式如下
if (ReportOption('outputFormat')='HTML') then ('HTML')
else if (ReportOption('outputFormat')='PDF') then ('PDF')
else if (ReportOption('outputFormat')='XLS' or ReportOption('outputFormat')='singleXLS' or ReportOption('outputFormat')='XLWA' or ReportOption('outputFormat')='spreadsheetML') then ('XLS')


  B、对需控制导出的区域设置render variable、style variable,如下图中红色部分 A设置render variable(仅HTML)、B(表格中设置样式变量,设置宽度高度=0)


  C、导出XLS效果


3、选择性导出:用户可选择性的导出页面中的区域
  A、新建布尔变量IsExport_map(控制地图是否导出),表达式如下:
  (ReportOption('outputFormat')='HTML') or (ReportOption('outputFormat')!='HTML' and ParamValue('pExport_map')='Yes')//非HTML格式中导出参数=YES才生成页面
B、选择地图-->render variable(生成变量)为IsExport_map(是)
  C、同理,分别对饼图、柱状图设置布尔变量 IsExport_pie、IsExport_bar


  D、分别插入 值提示value prompt,分别对应参数 pExport_map、pExport_pie和pExport_bar,效果如下


  E、上图中选择了只导出map,导出效果如下:



六、比赛总结
  1、时隔半年多再次参加报表比赛,本次比赛的题材完全是这半年中体会和积累下来的,参加比赛总是需要几天业余实践去绞尽脑汁准备题材、策划和设计、展现,想做出好的比赛作品可以说完全是体力活。这里建议以后M@X改为季赛(O(∩_∩)O哈哈~)。
  2、本次比赛的题材中的3个知识点在日常开发中普遍应用但又不好掌握。尤其针对“选择性导出”,我最近想出来的有2种方法(刷新和不刷新法),本次作品用的是较为简便的‘刷新’页面的方法。
  3、已经不是在单纯做报表了,而是在做网页,本次作品中结合了大量report stuido自带的css、Javascript做出特效。
  4、欢迎大家一起来这里、或到我的空间留言讨论,QQ:1352850857
-------------------------------------------------------------------------------
下载区
-------------------------------------------------------------------------------
1、数据库:..cognosc10webcontentsamplesdatasourcescubesPowerCubesENsales_and_marketing.mdc
2、RS导出到本地的XML报表文件:
3、多页面开发视频:

12260762_22314892.jpg


    导出控制开发视频:

098c59b0-0a2d-4d57-b692-cea188aad5fb.jpg


    选择性导出开发视频:

0274.jpg


4、

12254533_22314892.jpg


5、报表展示效果视频:

1cbdd133-8ae4-435c-99fd-08892558489c.jpg

2011-04-07
浏览52685
下载182

已下载用户的评价7.91分

您还未下载该资料,不能发表评价;
查看我的 待评价资源
top_wanglqtop_wanglq其它..2016-05-29
没用
学习学习
fg654tpfg654tp其它+2016-05-16
没用
111111··1111
hygzwhhygzwh商业智能工程师深圳市长亮科技股份有限公司2016-05-12
没用
因为要嵌套到portal中,需要自己制作按钮导出
killmailkillmail研发工程师sddfsd2016-04-22
没用
学习学习下
a136893103a136893103软件开发工程师合度云天2016-04-11
没用
先支持一下小贝的劳动成果,再瞧瞧
minamina软件开发工程师东方华信2016-03-04
没用
:handshake
voit_huangvoit_huang信息分析/架构师IBM2016-01-15
没用
先支持一下小贝的劳动成果
h23321107h23321107软件开发工程师宇信2015-12-26
没用
谢谢大大啊
tomrenao123tomrenao123软件开发工程师NA2015-12-24
没用
期待已久老贝的作品,前来膜拜
im小赞im小赞其它IBM2015-12-18
没用
老大你这个价格太好 还有限制 看不了啊 看看效果图吧

贡献者

贝克汉姆软件开发工程师,IBM
这家伙很勤奋,什么都没留下
X社区推广