在报表设计的过程中,客户很多时候会想看同比、环比的数据,很多人会想到利用日期函数在数据库中处理好然后直接在报表拖出来使用,其实这样加大了数据库的压力,当然也是解决问题的一种思路.今天我们就来说一下如何用Cognos维度函数来解决同比环比的问题.

由于时间有限、Cognos维度函数众多,这里我们就举例我们用到的

1:tuple函数

tuple (  成员 { , 成员 } )
根据指定成员(它们必须来自不同的维度)确定单元格位置(交集)。此功能显式包括所有维度中的当前成员,这些维度未在自变量中另行指定。假定未在评估上下文中指定的任何维度的当前成员是该维度的默认成员。可使用“值”功能来获取此单元格的值。

示例:tuple ( [登山装备] , [传真] )

结果:返回“登山装备”销售额(按传真)。

2:currentMember函数

currentMember ( 层级 )
返回迭代过程中该层级的当前成员。如果“层级”不在所计算的表达式的上下文中,那么假定为其默认成员。此函数显示在“卷动和移动平均值”互动式示样报表中。

3:prevMember函数

prevMember ( 成员 )
返回同一级别中直接排在“成员”前面的成员。此函数出现在“GO 数据仓库(分析)”数据包中的“逐年销售额增长”示样报表中。

示例:prevMember ( [户外防护用品] )

结果:个人附件
示例:prevMember ( [2005] )
结果:2004
---------------------------------------------------------下面用具体的例子来做一下实践---------------------------------------------
日期维度
查询1:单独使用prevMember 和currentMember 函数
日期:currentMember ([产品认购分析].[日期].[日期])
前一天:prevMember ([日期])
交叉表结构如下图:
查询2:使用prevMember 和tuple  函数
前一天认购金额:
tuple([认购金额],prevMember(currentMember([产品认购分析].[日期].[日期])))
交叉表结构如下图:
----------------------------------------------------------------运行结果-------------------------------------------------
--分析结果
1:单独使用Member类函数可以单独的得到上一个或者下一个成员,然后固有维度成员+度量结合可以求出
   固有维度成员的前一个下一个成员的度量值
2:使用tuple和member函数+度量可以再固有度量的基础上直接的求出上一个或者下一个固有维度成员的度
   量值
3:1是先得到成员然后求成员对应的度量值,2是成员和度量值一起采用交叉结果集的形式展现出来
4:可以参考更多的维度函数,日期维度如果具有年-季度-月-周-日的完整结构,就可以更轻松的设计出一些对
   比类型的数据报表了 
 
 
 
 

再谈Cognos报表设计中的维度函数的更多相关文章

  1. 再谈Cognos利用FM模型来做同比环比

    很早之前已经讲过 <Cognos利用DMR模型开发同比环比>这篇文章里说的是不利用过滤器,而是采用 except (lastPeriods (-9000,[订单数据分析].[日期维度].[ ...

  2. 再谈 $* 和 $@ 在 Bash 中的表现

    除非特别说明,本文中出现的 Shell 均指 Bash 4.3.首先说一个基础知识:Shell 中的变量在展开成值(Parameter Expansion)之后,这个值在某些上下文(Context)中 ...

  3. 【校招面试 之 C/C++】第10题 C++不在构造函数和析构函数中调用虚函数

    1.不要在构造函数中调用虚函数的原因 在概念上,构造函数的工作是为对象进行初始化.在构造函数完成之前,被构造的对象被认为“未完全生成”.当创建某个派生类的对象时,如果在它的基类的构造函数中调用虚函数, ...

  4. Unity教程之再谈Unity中的优化技术

    这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点 ...

  5. 浅谈HTTP中Get与Post的区别/HTTP协议与HTML表单(再谈GET与POST的区别)

    HTTP协议与HTML表单(再谈GET与POST的区别) GET方式在request-line中传送数据:POST方式在request-line及request-body中均可以传送数据. http: ...

  6. C++ Primer 学习笔记_43_STL实践与分析(17)--再谈迭代器【中】

    STL实践与分析 --再谈迭代器[中] 二.iostream迭代[续] 3.ostream_iterator对象和ostream_iterator对象的使用 能够使用ostream_iterator对 ...

  7. 从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图

    从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图 作者:naaoveGI…    文章来源:naaoveGIS    点击数:2063    更 ...

  8. 从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图

    从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图 作者:naaoveGI…    文章来源:naaoveGIS    点击数:1759    更 ...

  9. 再谈MV*(MVVM MVP MVC)模式的设计原理—封装与解耦

    精炼并增补于:界面之下:还原真实的MV*模式 图形界面的应用程序提供给用户可视化的操作界面,这个界面提供给数据和信息.用户输入行为(键盘,鼠标等)会执行一些应用逻辑,应用逻辑(application ...

随机推荐

  1. Python之路【第四篇】: 函数、递归、内置函数

    一. 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 while True: i ...

  2. Linux中用户与组相关配置文件(整理)

    用户与组信息存放位置 说明 注释 /etc/passwd 存放用户基本信息 记录了每个用户的一些基本属性,并对所有用户可读,每一行记录对应一个用户,属性之间通过冒号分隔. 每一个行6个冒号,7个属性. ...

  3. 【Leetcode】583. Delete Operation for Two Strings

    583. Delete Operation for Two Strings Given two words word1 and word2, find the minimum number of st ...

  4. java8新特性——Lambda表达式

    上文中简单介绍了一下java8得一些新特性,与优点,也是为本次学习java8新特性制定一个学习的方向,后面几篇会根据上文中得新特性一一展开学习.本文就从java8新特性中比较重要的Lambda表达式开 ...

  5. NOIP2017 D2T3列队

    这题我改了三天,考场上部分分暴力拿了50,考完试发现与正解很接近只是没写出来. 对于每一行和最后一列建n+1颗线段树,维护前缀和. 复杂度qlogn 假如你移动一个坐标为(x,y)的人,你要将第x行线 ...

  6. bzoj 4094: [Usaco2013 Dec]Optimal Milking

    4094: [Usaco2013 Dec]Optimal Milking Description Farmer John最近购买了N(1 <= N <= 40000)台挤奶机,编号为1 . ...

  7. <form> 标签 // HTML 表单 // from 表单转换成json 格式

    <form> 标签   // HTML 表单    // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...

  8. bzoj 3784

    第三道点分治. 首先找到黄学长的题解,他叫我参考XXX的题解,但已经没有了,然后找到另一个博客的简略题解,没看懂,最后看了一个晚上黄学长代码,写出来然后,写暴力都拍了小数据,但居然超时,....然后改 ...

  9. 20172333 2017-2018-2 《Java程序设计》第11周学习总结

    20172333 2017-2018-2 <Java程序设计>第11周学习总结 教材学习内容 对于Android Studio的安装以及对安卓的一些基本组成,比如说四大组件Acticity ...

  10. [转]Android Studio常用快捷键

    (会持续更新)这边讲的常用快捷键是指做完Keymap到Eclipse后的,不是纯Android Studio的,这边主要讲下比较常用的一些快捷键: Ctrl+G / Ctrl+Alt+Shift+G: ...