- 浏览: 345734 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zy_mensheng:
请问一下 怎么 js没有解析啊 还是钟表图..
调用BIEE提供的web service -
安铁辉:
师兄你很久没更新博客了
Information Dashboard Design读书笔记 -
mojunbin:
很清晰的文章
秒杀相关知识以及技术 -
yanchangjun8102:
楼主你好,我也最近在研究biee的webservice这块,按 ...
调用BIEE提供的web service -
sacredon:
不错,楼主我是看着你的这篇文章写代码调用的BIEE的Web ...
调用BIEE提供的web service
计算的粒度为月,如果想计算得到上个月的销售量,或者三个月前的销售量,下个季度的销售量,去年的销售量,从而得到
Last Month % Increase
Last Quarter % Increase
Next Quarter % Increase
Last Year % Increase
可以使用MSUM 函数间接计算得到。
查阅文档得到MSUM函数的说明如下:
MSUM
This function calculates a moving sum for the last n rows of data, inclusive of the current row.
The sum for the first row is equal to the numeric expression for the first row. The sum for the second row is calculated by taking the sum of the first two rows of data. The sum for the third row is calculated by taking the sum of the first three rows of data, and so on. When the nth row is reached, the sum is calculated based on the last n rows of data.
This function resets its values for each group in the query according to the rules described in Display Function Reset Behavior .
The following example shows a query that uses the MSUM function and the query results.
select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area
根据文档,该函数可以得到最后N行的求和结果。特别地,当N等于1的时候,计算的就是自身。
获得N个月前的值的通用公式如下(与oracle的lag分析函数同等效果) :
lag( <sales volume>, <n> ) = msum( <sales volume>, <n> + 1 ) – msum( <sales volume>, <n> )
当月与N个月前值的增长比例计算公司如下:
100 * ( <current sales> – <months ago sales> ) / <months ago sales>
等价于:
100 * ( <sales volume> – msum( <sales volume>, <n> + 1 ) + msum( <sales volume>, <n> ) ) / ( msum( <sales volume>, <n> + 1 ) – msum( <sales volume>, <n> ) )
现在我们看下,如果想要得到以上三个值,分别如何计算:
1, Last Month % Increase
计算公式:
100*( <current sales> – <one month ago sales> ) /
<one month ago sales> )
用MSUM函数实现等价于:
100 * ( 2 * <sales volume> – msum( <sales volume>, 2 ) ) / ( msum( <sales volume>, 2 ) – <sales volume> )
分母表示:得到当前月和起一个月的总和后,减去当前月的值,得到的就是上个月的值。
分子表示:当前月的值-上个月的值
2, Last Quarter % Increase
Last Month % Increase类似,只不过需要改下N的值。
具体的公式如下:
100 * ( <sales volume> – msum( <sales volume>, 4 ) + msum( <sales volume>, 3 ) ) / ( msum( <sales volume>, 4 ) – msum( <sales volume>, 3 ) )
3, Next Quarter % Increase
但是要计算当前月的下个季度增长率,则会有所不同。MSUM函数只能向过去推算(不支持负数的N值)。由于OBIEE不支持的这种向未来推算的函数,我们需要另一个函数来得到下个季度的对应值。Oracle提供了很多分析函数,比如
1. 自动汇总函数rollup,cube,
2. rank 函数, rank,dense_rank,row_number
3. lag,lead函数
4. msum,mavg,的移动增加,移动平均数
5. ratio_to_report报表处理函数
6. first,last取基数的分析函数
lag函数跟MSUM函数的作用类似,而lead函数刚好就能满足我们的当下需求。不过这个函数就有点依赖于数据库了。如果底层的数据源不是ORACLE则无法使用。
现在可以利用OBIEE的evaluate函数来调用oracle的lead 分析函数。要的到N个月后的值的公式如下:
evaluate( 'lead( %1, <n> ) over ( order by %2 )' as double, <sales volume>, <ordering column> )
在这里要计算下个季度的值,需要把N改为3,具体为:
注意:上面的%1和%2分别对应后面紧跟的两个参数。
不过这里也会遇到跟Last Year一样的空值问题。不过上图中的公式里增加了一个排序列就会默认补充空值,这点没有理解。原话如下:
4, Last Year % Increase
理论上只需要按照之前利用MSUM函数计算,向前推12个月即可。
不过这里会遇到点问题,对于这最早一年的前11个月而言,使用MSUM会得到空的行从而计算的结果为NULL。但是对于第12个月而言,公式中会部分找到行进行累加,而另外一部分却得到空值,这样会导致计算错误。所以需要加上限制,仅对行数大与12的进行计算。
以上用到了rcount函数。该函数的使用介绍如下:
RCOUNT
This function takes a set of records as input and counts the number of records encountered so far.
This function resets its values for each group in the query according to the rules described in Display Function Reset Behavior .
The following example shows a query that uses the RCOUNT function and the query results.
select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200.
发表评论
-
Information Dashboard Design读书笔记
2013-06-20 18:34 2087第一章: Everybody wants a ... -
BIEE之timestamp问题
2012-12-12 21:13 1911最近在做一个需求, ... -
timeTunnel的学习
2012-09-25 19:26 2757采集数据(通过TT的cli ... -
数据挖掘之归一化
2012-09-24 21:10 3538在阅读数据模型的文章中,经常看到针对特征维度进行归一化处理。 ... -
BIEE 界面DIY
2012-09-06 21:49 2258改图片和css不需要重启服务,但要注意清除IE缓存。l在C:\ ... -
BIEE登录问题排查及集群搭建
2012-07-01 21:08 3104背景: BIEE服务器虽然搞了两台,但是只是作为冷备。大部 ... -
BIEE10g集群配置
2012-07-01 21:08 0mark 下。后续补上。 -
OBIEE的ibot配置
2012-02-14 15:30 1823http://prolynxuk.com/blog/?p=28 ... -
聚集导航的设计和实现之读书笔记
2012-01-31 15:47 1844关于聚集导航的技术,最近读了一本很不错了书籍《Masterin ... -
调用BIEE提供的web service
2011-11-17 15:33 9163门户项目中准备用web service获取现有的制作好的报表 ... -
biee清除缓存脚本
2011-10-10 22:55 3706前面文章 http://jianchen.iteye.com ... -
OBIEE 变量
2011-08-29 21:34 1220biee的变量分类以及在各个组件的引用方法: 这 ... -
OBIEE Data model Best Pratices
2011-08-28 22:31 1405Data Model Best Practices 1, ... -
性能测试 and BIEE(二)
2011-08-28 20:29 1895测量以及监控 (measing and monito ... -
性能测试 and BIEE(一)
2011-08-28 20:19 3706目标: 1. 性 ... -
部署普及型BI关键成功因素
2011-08-15 16:24 1088部署普及型BIwhat is it?传 ... -
BIEE缓存设置
2011-08-14 18:22 35381,BI server cache OracleBI\ser ... -
【转】据仓库设计的三级数据模型
2011-08-13 17:33 1816所谓数据模型,就是 ... -
聚集导航出错
2011-07-25 19:35 1001今天遇到一件很奇怪的 ... -
kettle的源代码svn地址
2011-07-06 15:51 2963网上一开始搜索到的地址 svn://source.pen ...
相关推荐
OBIEE中文帮助,BIEE中文帮助,非常难得
3. **分析和查询工具**:OBIEE的Query and Analysis工具提供了一个直观的界面,用户可以构建复杂SQL查询,同时支持使用BI Answers进行自助式分析,无需编写代码。 4. **安全与权限管理**:OBIEE的权限管理确保了...
《深入解析OBIEE 11g:从基础到进阶》 一、OBIEE 11g概览 Oracle Business Intelligence Enterprise Edition (OBIEE)...通过深入学习和掌握OBIEE 11g的使用方法,企业可以更有效地利用数据资源,推动业务发展和创新。
这个官方中文帮助手册正是为了解决中国用户在使用OBIEE时的语言障碍,使得理解和操作变得更加直观易懂。 手册的核心内容可能涵盖以下几个方面: 1. **系统架构**:OBIEE的架构包括四个主要部分:元数据层、分析...
这篇指南适用于那些希望在分布式环境中安装OBIEE的用户,特别是对ORACLE 10G数据库有需求的情况。 首先,安装过程分为四个主要部分: 1. **安装ORACLE数据库**:在数据库服务器上进行,选择数据仓库选项。创建新的...
此外,OBIEE提供了与Microsoft Office的深度集成,如Excel和PowerPoint插件,让用户可以在熟悉的环境中使用和共享BI内容,避免数据碎片的产生。 Oracle交互式信息板(Interactive Dashboards)是OBIEE的另一个亮点...
OBIEE(Oracle Business Intelligence Enterprise Edition)是甲骨文公司提供的一套...对于初学者而言,通过这些内容的学习,能够有效掌握OBIEE的基本使用方法和操作技巧,为进一步深入学习和应用OBIEE打下坚实的基础。
本文将深入探讨OBIEE的基本概念、安装配置、模型创建以及Answers和Dashboard的使用。 1. **安装配置** OBIEE的安装过程包括多个步骤,首先要确保硬件和软件环境满足最低需求,例如操作系统版本、Java版本和数据库...
在OBIEE中,主要涉及以下几个关键知识点: 1. **数据建模**: OBIEE使用Rapid Warehouse Builder (RWB) 进行数据建模。这包括创建物理层、业务模型和映射层。在物理层,我们连接到数据源,如数据库表或视图。在业务...
7. **Ago函数错误**:错误22040意味着使用Ago函数时,查询的存储级别不是静态级别。需要将相关度量改为静态存储级别,或者考虑其他时间操作方法。 8. **连接Oracle数据库**:导入元数据时,若出现连接失败,需要...
Cognos与OBIEE均是市场上广泛使用的商业智能解决方案之一。本文将从产品体系结构、企业关键BI需求及常见问题三个方面进行详细的比较分析。 #### 第二章:产品体系结构比较 **1. OLAP SERVER的集成** - **Cognos**...
根据提供的文档信息,我们可以推断出这是一份关于Oracle Business Intelligence (OBIEE) BI Apps产品的指南。尽管文档中重复的信息较多,我们仍然可以从现有的文本中提取一些关键的知识点。 ### Oracle Business ...
这个压缩包中的资源将覆盖以上各个层面的知识,为初学者提供全面的学习路径,帮助他们逐步掌握OBIEE的使用,从而在商业智能领域中游刃有余。通过深入学习和实践,你将能够利用OBIEE的强大功能,为企业提供洞察力,...
通过以上内容可以看出,《伊泰集团BIEE备份、还原管理V1.0》文档详细介绍了OBIEE11.1.1.5的备份与还原流程,包括备份原理、手动备份方法、自动备份脚本编写,以及还原操作的具体步骤。这些知识对于维护OBIEE系统的...
Oracle Business Intelligence ...以上问题解答提供了对OBIEE使用过程中可能遇到的常见问题的解决思路,但具体实施可能需要根据实际环境和版本进行调整。在实际操作中,还应参考Oracle的官方文档或寻求技术支持帮助。
入门文档可能涵盖了OBIEE的基础概念,如元数据模型、分析仪表板的创建、SQL查询基础,以及如何使用分析工具进行数据探索。而提高篇可能涉及更复杂的话题,如自定义计算、聚合管理、安全设置、性能优化和数据仓库的...
obiee demo, 实例帮你学习OBIEE