分享给RS报表动态传递维度和度量

使用COGNOS工具的优势:
1、数据的建模,建立好一个业务模型后,可以开发出N多张报表,不用一张一张的写SQL;
2、RS提供的丰富的工具,进行可视化的开发;

往往我们会遇到客户给的几十种报表,有很多都是类似的,特别是表样完全相同,只是项不一样,我们可以归类为:表样一样,显示的维度、度量不一样。

针对这类报表,完全可以只开发一张表样,通过动态的传递维度和度量方式实现,这样简化开发的很多工作量(只开发一张报表,可以出多个报表的结果,呵呵。:lol ),可维护性强,以后改动是只维护一张公用的表样即可。

具体看个例子(主要用的是CUBE):
1、运行后的效果(为了方便查看,说明做在报表页面上,呵呵)

页面运行效果.png


度量可以输入类似的组合:1、[本期借方余额];2、[本期贷方余额];3、[本期借方余额]+[本期贷方余额]+200;
维度可以输入任意组合::[ZZ_Cube].[指标].[指标].[一级科目代码]->:[PC].[@MEMBER].[101]+[ZZ_Cube].[指标].[指标].[一级科目代码]->:[PC].[@MEMBER].[103];

2、设计页面,如下图:


3、设计页面中的查询,要把动态传入的维度、度量,放到查询里才行,如下图:
参与26

24同行回答

jmlitaojmlitao软件开发工程师燕山大学
好资料一个,感谢楼主!!显示全部
好资料一个,感谢楼主!!收起
软件开发 · 2015-04-16
浏览1544
sealinksealink技术总监sealink.com
回复 23# lizq    像flash那么炫不行。看看我的另一个帖子:http://www.cognoschina.net/club/thread-35889-1-1.html显示全部
回复 23# lizq


   像flash那么炫不行。
看看我的另一个帖子:http://www.cognoschina.net/club/thread-35889-1-1.html收起
银行 · 2014-12-25
浏览1575
lizqlizq软件开发工程师无此
回复 21# sealink 嗯是的呀!cognos能做出那种像比较炫的图表吗?就像那种flash图表一样有动画效果的!显示全部
回复 21# sealink

嗯是的呀!cognos能做出那种像比较炫的图表吗?就像那种flash图表一样有动画效果的!收起
软件开发 · 2014-12-25
浏览1545
Alex97Alex97网站架构师it
回复 1# sealink     向sealink大神学习显示全部
回复 1# sealink


    向sealink大神学习收起
IT其它 · 2014-12-17
浏览1555
sealinksealink技术总监sealink.com
回复  sealink    我现在就是用列表做的,至于多表头则用的列表的页眉去实现。通过生成变量去控制列是否 ...lizq 发表于 2014-12-15 16:51 动态SQL好像不行。FM建模时能看出来,引入元数据后,表和字段都是固定的。10.2的版本好像哟个动态查询,没研究过...显示全部
回复  sealink


   我现在就是用列表做的,至于多表头则用的列表的页眉去实现。通过生成变量去控制列是否 ...
lizq 发表于 2014-12-15 16:51


动态SQL好像不行。FM建模时能看出来,引入元数据后,表和字段都是固定的。

10.2的版本好像哟个动态查询,没研究过收起
银行 · 2014-12-16
浏览1533
lizqlizq软件开发工程师无此
回复 19# sealink    我现在就是用列表做的,至于多表头则用的列表的页眉去实现。通过生成变量去控制列是否展示,就是过程繁琐啊!要是能动态的构造sql然后动态的在页面上展示那才牛逼...显示全部
回复 19# sealink


   我现在就是用列表做的,至于多表头则用的列表的页眉去实现。通过生成变量去控制列是否展示,就是过程繁琐啊!要是能动态的构造sql然后动态的在页面上展示那才牛逼收起
软件开发 · 2014-12-15
浏览1492
sealinksealink技术总监sealink.com
回复  sealink 版主。我看了你的。我的需求感觉和你有点不同。不知道是不是我没看明白。我现在想做的是 ...lizq 发表于 2014-12-8 19:29 好像你这种模式还真不行。我的是多维模型,拖的是维度值和度量。控制的是维度的成员你可以用一种最笨的方法,把26列都拖到...显示全部
回复  sealink


版主。我看了你的。我的需求感觉和你有点不同。不知道是不是我没看明白。我现在想做的是 ...
lizq 发表于 2014-12-8 19:29


好像你这种模式还真不行。

我的是多维模型,拖的是维度值和度量。控制的是维度的成员


你可以用一种最笨的方法,把26列都拖到页面上,然后通过传入参数控制列显示还是不显示。有点繁琐。收起
银行 · 2014-12-09
浏览1580
lizqlizq软件开发工程师无此
回复 17# sealink 版主。我看了你的。我的需求感觉和你有点不同。不知道是不是我没看明白。我现在想做的是,在交叉表中(多行表头),能够根据我传过去的参数去动态的查询某几个维度的数据吗?例如报表总共有26个字段要展示,我选择其中10个,报表页面就生成10个字段显示,其他则不查...显示全部
回复 17# sealink


版主。我看了你的。我的需求感觉和你有点不同。不知道是不是我没看明白。我现在想做的是,在交叉表中(多行表头),能够根据我传过去的参数去动态的查询某几个维度的数据吗?
例如报表总共有26个字段要展示,我选择其中10个,报表页面就生成10个字段显示,其他则不查询出来。这个能实现吗?我感觉没思路。无从下手啊,求指点。收起
软件开发 · 2014-12-08
浏览1512
sealinksealink技术总监sealink.com
版主!你这个很好啊!我现在也在做一只类似的报表,通过选择想看的度量或者维度后去动态生成报表。但是你这 ...lizq 发表于 2014-12-8 16:19    我这个是RS和cube。你用FM应该是一样的。   其实就是在查询中,拖出查询,然后在操作。很简单,仔细琢磨琢磨,关键...显示全部
版主!你这个很好啊!我现在也在做一只类似的报表,通过选择想看的度量或者维度后去动态生成报表。但是你这 ...
lizq 发表于 2014-12-8 16:19



   我这个是RS和cube。你用FM应该是一样的。
   其实就是在查询中,拖出查询,然后在操作。很简单,仔细琢磨琢磨,关键点我都写了收起
银行 · 2014-12-08
浏览1530
lizqlizq软件开发工程师无此
版主!你这个很好啊!我现在也在做一只类似的报表,通过选择想看的度量或者维度后去动态生成报表。但是你这个我感觉没看明白!怎么用我传递的参数去控制查询我想看的维度呢?我用的reportStudio,framework建模。...显示全部
版主!你这个很好啊!我现在也在做一只类似的报表,通过选择想看的度量或者维度后去动态生成报表。但是你这个我感觉没看明白!怎么用我传递的参数去控制查询我想看的维度呢?我用的reportStudio,framework建模。收起
软件开发 · 2014-12-08
浏览1537

提问者

sealink
技术总监sealink.com
擅长领域: 商业智能大数据cognos

相关问题

相关资料

问题状态

  • 发布时间:2013-07-08
  • 关注会员:2 人
  • 问题浏览:11386
  • 最近回答:2015-04-16
  • X社区推广