BIEE使用技巧
索引:
1.如何清除缓存
2.通过“编辑 SQL”取得前一天的日期
3.格式化日历框参数
4.根据传入的开始时间和结束时间取得事实表中的指标(用到了3中的技巧)
5.直接调用数据库函数
6.时间格式转换
7.BIEE传参问题
8.BIEE部署到Solaris服务器
9.联动条件提示
10.不同维度级别算法
11.Answer横向数据比较变颜色
12.取得模型中有数据的最近一天的数值
13.在列表的表头中加入tip
14.在rpd中设置不同维度路径聚合算法
15.集成报表时将“首选项”去掉
16.指标成员分类显示
17.BIEE报表向外部传数据
1.如何清除缓存(1)删除OracleBIData下的cache目录(2)将NQSConfig.INI文件中的[Cache]选项ENABLE=NO
2.通过“编辑 SQL”取得前一天的日期方 法:select TIMESTAMPADD( SQL_TSI_DAY, -1,CURRENT_DATE ) from 时间维语法:TimestampAdd( interval, intExpr, timestamp )interval:指定的间隔。有效值 是:SQL_TSI_SECOND,SQL_TSI_MINUTE,SQL_TSI_HOUR,SQL_TSI_DAY,SQL_TSI_WEEK, SQL_TSI_MONTH,SQL_TSI_QUARTER , SQL_TSI_YEAR
3.格式化日历框参数问 题:BIEE自带的日历框传入的日期数据通过cast转换时会出错,需要将格式转换为类似格式:2010-07-01 --> 01-7月-10方法:cast(replace( right( '@{var_startdate}{2010-7-26}', 2 ), '-', '' ) ||'-' ||( case when left( replace( substring( '@{var_startdate}{2010-7-26}' from 6 for 2 ), '-', '' ), 1 ) = 0then right( replace( substring( '@{var_startdate}{2010-7-26}' from 6 for 2 ), '-', '' ), 1 )else replace( substring( '@{var_startdate}{2010-7-26}' from 6 for 2 ) ,'-', '' )end ) ||'月-' ||substring( '@{var_startdate}{2010-7-26}' from 3 for 2 )as date )
4.根据传入的开始时间和结束时间取得事实表中的指标(用到了3中的技巧)FILTER( "事实指标"."全天汇总"USING ( "时间维"."日期" =cast(replace( right( '@{var_startdate}{2010-7-26}', 2 ), '-', '' ) ||'-' ||( case when left( replace( substring( '@{var_startdate}{2010-7-26}' from 6 for 2 ), '-', '' ), 1 ) = 0then right( replace( substring( '@{var_startdate}{2010-7-26}' from 6 for 2 ), '-', '' ), 1 )else replace( substring( '@{var_startdate}{2010-7-26}' from 6 for 2 ) ,'-', '' )end ) ||'月-' ||substring( '@{var_startdate}{2010-7-26}' from 3 for 2 )as date )))FILTER( "事实指标"."全天汇总"USING ( "时间维"."日期" =cast(replace( right( '@{var_startdate}{2010-7-27}', 2 ), '-', '' ) ||'-' ||( case when left( replace( substring( '@{var_enddate}{2010-7-27}' from 6 for 2 ), '-', '' ), 1 ) = 0then right( replace( substring( '@{var_enddate}{2010-7-27}' from 6 for 2 ), '-', '' ), 1 )else replace( substring( '@{var_enddate}{2010-7-27}' from 6 for 2 ) ,'-', '' )end ) ||'月-' ||substring( '@{var_enddate}{2010-7-27}' from 3 for 2 )as date )))
5.直接调用数据库函数(以Oracle为例)
(1)在逻辑层调用Oracle函数在Administrator Tools中,可以在逻辑层调用oracle的函数,方法如下(注意Evaluate的语法):
通过这种方式可以在逻辑模型中加入一些计算列,用以解决行上的数据比较分析。
(2)在Answer中调用Oracle函数如图所示:在Answer中函数编辑中直接利用Evaluate,语法与上面一样。
6.时间格式转换如 果后端是Oracle数据库,可在Connection Pool中设置NLS_DATE_FORMAT变量,则cast(Calendar."Time Id" AS CHAR)会返回对应的格式。(可以用于解决问题3)如下图所示:脚本:ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD'
7.BIEE传参问题基本参考官方的Presentation Services Administration Guide.pdf即可。注意几点:
1.要在报表中建立对应的过滤器,如下图所示:
2.如果url中包含中文则需要转码为utf-8。
3.空格用 替代。
4.元数据中的字段需要用引号包含起来如Products."Prod Name"。
5. 最多可以定义6个参数举例:saw.dll?Go&Path=/users/administrator/test/test_sh& Action=Navigate&P0=1&P1=eq&P2=Products."Prod Name"& P3=Deluxe Mouse多个参数传递的时候,以此类推P1~P3,P4~P6。如:P4=eq&P5=Times.date& amp;P6=2008-01-01注意:BIEE有时候会出现传参失效问题(暂不清楚是由于缓存问题还是BIEE中的bug),需要在报表设计器中删除 需要传入参数的列以及对应的过滤器并且重建,这样才能使传参重新生效。
8.BIEE部署到Solaris服务器描述:在windows服务器上生成的catelog部署到unix服务器上时,需要将catelog转换为为二进制后传送到unix服务器上。
9.联动提示条件描述:在提示中后一个提示依赖于前一个提示。例如:网元维度大区==>分公司,要让分公司有依赖于大区的选择。如下图所示,要注意提示摆放顺序。
10.不同维度级别算法
11.Answer横向数据比较变颜色描述:BIEE9的横向数据分析功能比较弱。例如下图所示(图中的数据是模拟数据),需要将与忙时相同的时间点数据标红(从图中可以看出所有1点数据与忙时数据相同,所以所有1点数据都应该标红)。这在BIEE中是无法通过条件格式直接完成的,可以通过以下方法进行变通。(1)加入一个临时1点数据列,我们用它作为临时列。(2)在临时列中“编辑列公式”,让数值等于1点数据减去忙时数据。(3)在1点数据的列属性中添加条件,当临时列等于0时将1点列的颜色标红。(4)最后将临时列编辑为隐藏最后看一下效果图,这种变通方式的缺点是工作量很大,需要对每一个需要比较的列都要添加一个相应的临时列。
12.在提示中取得模型中有数据的最近一天的数值方法:在提示中利用SQL结果"select cast(TIMESTAMPADD( SQL_TSI_DAY , -(12), CURRENT_DATE ) as date) from 时间维"
13.在列表的表头中加入tip描 述:需要在列表的表头中加入tip。方法:(1)修改instanceconfig.xml,在\OracleBIData\web\config\中的 instanceconfig.xml中加入false并重启BIEE服务 (2)在需要加入tip的标题中,编辑列格式,在列标题中输入tip,其中title中的部分就是tip,这是html的语法。如图:(3)最终效果如下图:
注意:HardenXSS是为了防止跨脚本攻击的,如果设置为false可能存在一定风险。
14.在rpd中设置不同维度路径聚合算法
描述:度量维(事实表)在不同纬度路径的聚合算法不同。解决:可以在rpd中设置不同纬度路径的聚合算法。
默认情况,事实纬度中的指标采用一种聚合算法,如下图所示:
选择"Based on dimensions",可以设置在不同纬度路径下的聚合算法。
15.集成报表时将“首选项”去掉
描述:在集成BIEE报表时,右上角会有“首选项”图标,比较碍眼,如下图所示:解决:修改instanceconfig.xml,在\OracleBIData\web\config\中的instanceconfig.xml中加入并重启BIEE服务即可,效果如下图:注意:该方法对Administrator或拥有该权限的用户连接无效
16.指标成员分类显示
描述:我想在Answer看到如下显示方式:
17.BIEE报表向外部传数据
描述:需要BIEE将报表中的参数传到外部链接中。
解决:
(1)设置数据格式
(2)编辑单元格数据,例如:
'
BIEE使用技巧的更多相关文章
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧
记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- 工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!
如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATI ...
- 15个关于Chrome的开发必备小技巧[译]
谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 【工具使用】mac电脑使用技巧
本文地址 分享提纲: 1. mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互 1)命令行中打开当前文件夹: o ...
- Function.prototype.toString 的使用技巧
Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...
- SAP CRM 性能小技巧
导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...
随机推荐
- all requires API level 3 (current min is 1)问题的解决
几次出现了all requires API level 3 (current min is 1)的错误,后来发现解决的方法是右键单击项目文件夹,选择Android Tools->Clear Li ...
- 历史疑团之EJB
在学习Sping框架的过程中,看到过很多次关于EJB的批判.使用了SpringMVC但是并没有真性情般体会到它的优点,所以有必要对传统的Java Bean和EJB来做一些了解,无奈百度搜了很多知识,还 ...
- jquery.form.js不能解决连接超时(timeout)的解决方法
最近在使用jquery.form.js提交包含文件的表单时,碰到了一个问题:当碰上网速较慢时,而我们又设置了timeout时,例如: var options = { timeout: 3000 //限 ...
- mysql安装中出现的问题,
花了一天的时间明天mysql的安装方法: 自己的错误: 主要原因: (1):bin文件坏境配置出现了问题,没有重新在系统中配置文件 解决方法:右击电脑——属性——高级系统设置——变量配置——在path ...
- 「Ionic」創建新項目
1.創建新項目 创建一个名为myApp的还有tabs的项目(ionic start <project-name> <optional-template>) 可选模板为sidem ...
- java内存模型-volatile
volatile 的特性 当我们声明共享变量为 volatile 后,对这个变量的读/写将会很特别.理解 volatile 特性的一个好方法是:把对 volatile 变量的单个读/写,看成是使用同一 ...
- Quartz.NET开源作业调度框架系列(四):Plugin Job
如果在Quartz.NET作业运行时我们想动态修改Job和Trigger的绑定关系,同时修改一些参数那么该怎么办呢?Quartz.NET提供了插件技术,可以通过在XML文件中对Job和Trigger的 ...
- Velocity – 另外一款加速的 jQuery 动画插件
Velocity 是一款 jQuery 插件,重新实现了 $.animate() 方法,提供更高的性能(比 CSS 动画还更快),同时包括一些新的功能,以改进动画工作流程.Velocity 除了包括所 ...
- 【html5】Web存储_locaStorage对象的应用
Web存储 html5可以在本地存储用户浏览的数据,数据的存储原理是以 键/值 存储的 存储对象分类 localStorage:没有时间限制的数据存储 sessionStorage:针对一个会话的数据 ...
- 谈谈JavaScript类型检测
javascript内置的类型检测机制并非完全可靠.比如typeof操作符,并不能准确的判断数据是哪个类型,比如:数组和对象就不能通过typeof来区分. typeof [] ==="o ...