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实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...
随机推荐
- android多分辨率多密度下界面适配方案
前言 Android 设计之初就考虑到了UI在多平台的适配,它本身提供了一套完善的适配机制,随着版本的发展适配也越来越精确,UI适配主要受平台两个因素的影响:屏幕尺寸 (屏幕的像素宽度及像素高度)和屏 ...
- JSON的简单例子
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 下载JSON所需要的jar文件并加入工程后,编写如下代码: package com.hzhi.json; ...
- 【Java每日一题】20161201
20161130问题解析请点击今日问题下方的"[Java每日一题]20161201"查看 package Dec2016; public class Ques1201 { publ ...
- MySQL: @variable vs. variable. Whats the difference?
MySQL: @variable vs. variable. Whats the difference? up vote351down votefavorite 121 In another qu ...
- Win7 电脑设置临时网络,无法加入网络;internet禁止网络共享
1.电脑的本地连接中的共享,被管理员禁用.网上试了一些方法,都不可行.最后想到修改注册表.我找到了注册表中的shared选项.将0修改为1.则实现了本地连接的共享. 2.但是即便如此,由本地连接分享出 ...
- Scalaz(10)- Monad:就是一种函数式编程模式-a design pattern
Monad typeclass不是一种类型,而是一种程序设计模式(design pattern),是泛函编程中最重要的编程概念,因而很多行内人把FP又称为Monadic Programming.这其中 ...
- 项目中应用eventbus解决的问题
在项目开发过程中,往往有些功能表面看起来简单,但实际开发的结果非常复杂,仔细分析下原因发现很多都是因为附加了许多的额外功能. 真的简单吗? 比如我们对一个电商平台的商品数据做修改的功能来讲,其实非常简 ...
- 酷!使用 jQuery & Canvas 制作相机快门效果
在今天的教程中,我们将使用 HTML5 的 Canvas 元素来创建一个简单的摄影作品集,它显示了一组精选照片与相机快门的效果.此功能会以一个简单的 jQuery 插件形式使用,你可以很容易地整合到任 ...
- jQuery Label Better – 友好的表单输入框提示插件
jQuery Label Better 帮助你标记您的表单输入域,带有美丽的动画效果而且不占用空间.这个插件的独特之处在于所有你需要做的就是添加一个占位符文本,只有当用户需要它的时候才显示标签. 您可 ...
- TwentyTwenty – 使用 jQuery 实现图片对比功能
这是一款非常棒的图片对比工具,能够方便的应用到你的网站中.其基本思路是把两张图片层叠在一起,当你拖动滑竿的时候,利用 CSS clip 裁剪图片,进行形成视觉对比效果. 您可能感兴趣的相关文章 Met ...