在Oracle BI 中使用HTTP

本文档旨在说明如何在Oracle BI 中使用HTTP (URL或JavaScript) 方法实现一些特定的展示效果。

本文档包含以下主题:

1、使用Go URL在外部Portal或应用中引入Oracle BI视图;

2、使用Dashboard URL在外部Portal或应用中引用Dashboard内容;

3、使用Go URL传递SQL或筛选器;

4、使用JavaScript进行筛选

1 使用Go URL在外部Portal或应用中引入Oracle BI视图

此部分介绍了如何通过使用Go URL在外部Portal或应用中引入Oracle BI视图,包含以下内容:

(1)、Go URL结构;

(2)、Go URL参数;

1.1 Go URL结构

Oracle BI的Go URL命令可以将某一特定的Oracle BI视图引入外部portal或应用。当你向一个页面上添加一个视图,或是添加一个请求Oracle BI视图的链接,你会用到Go URL。

如果调用的是同一Web server上的页面,URL应该写成 /analytics/saw.dll?Go&Path= 的形式,”=”后面是你所引用的Oracle BI视图的路径。

如果调用的是不同Web server上的页面,URL应该写成 http://server_name_or_ip_address/Analytics/saw.dll?Go&Path= 的形式,”=”后面是你所引用的Oracle BI视图在该Web server上的路径。

下面的Go URL将返回Oracle BI的/share/test目录下名为testform的视图: /analytics/saw.dll?Go&Path=/shared/test/testform

1.2 Go URL参数

可以通过添加一个或多个参数来控制Go URL的效果。如果你所传递的参数中含有空格,那么必须用”+”将其替换。 ?

1.2.1 用户名和密码。

如果Go URL中所请求的视图需要特定的用户权限察看,或者用户未选 择保留登陆信息,那么需要在Go URL中提交用户名和密码。

格式如下:

&NQUser=uuu&NQPassword=ppp

例如:

http://localhost:9704/analytics/saw.dll?Go&Path=/shared/test/testform&NQuser=Administrator&NQPassword=Administrator

用户以Administrator的身份登陆,密码为Administrator ?

1.2.2 链接选项。

返回的页面中将包含相关链接。

格式:

&Option=x x可以为以下字符: m: 修改 f: 刷新 d: 打印r: 下载

例如:

http://localhost:9704/analytics/saw.dll?Go&Path=/shared/test/testform&Options=mfdr ?

1.2.3 应用优化。

将根据具体参数值对返回的页面进行适当的优化。

格式:

&Action=

例如:

http://localhost:9704/analytics/saw.dll?Go&Path=/shared/test/testform&Action=print;

返回的页面不会包含页面控制,超链接等信息,适合打印(print)。 ?

1.2.4 指定视图。

将返回参数值所指定的视图而不是缺省的组合视图。

格式:

&ViewName=

例如:

http://localhost:9704/analytics/saw.dll?Go&Path=/shared/test/testform&ViewName=Chart;

假设请求的视图中包含一个名为Chart的图,那么返回的页面中只显示这个图。 ?

1.2.5 指定风格。

将以参数中指定的风格显示视图。

格式:

&Style=

例如:

http://localhost:9704/analytics/saw.dll?Go&Path=/shared/test/testform&Style=Lime ?

1.2.6 结果格式。

这个参数可以用来控制返回页面的格式。

格式:

&Format=XML/HTML

例子:

http://localhost:9704/analytics/saw.dll?Go&Path=/shared/test/testform&Format=XML;

显示的是页面的XML代码。

2 使用Dashboard URL在外部Portal或应用中引用Dashboard 内容

此部分介绍了如何通过使用Dashboard URL,包含以下内容: ?

(1)、Dashboard URL 结构;

(2)、Dashboard URL 参数;

(3)、Dashboard URL 的一个应用案例。

2.1 Dashboard URL 结构

Oracle BI的Dashboard URL命令可以将某一特定的Dashboard上的内容引入外部portal或应用。

如果调用的是同一Web server上的Dashboard,URL应该写成 /analytics/saw.dll?Dashboard&PortalPath= 的形式,”=”后面是你所引用的Dashboard的路径。

如果调用的是不同Web server上的页面,URL应该写成 http://server_name_or_ip_address/Analytics/saw.dll?Dashboard &PortalPath= 的形式,”=”后面是你所引用的Dashboard在该Web server上的路径。

下面的Dashboard URL将返回Oracle BI的/share/test/_portal/test 目录下名为page1的Dashboard:

/analytics/saw.dll?Dashboard&PortalPath=/shared/test/_portal/test&Page=page1

2.2 Dashboard URL 参数

Dashboard URL的参数类型和用法同Go URL类似,请参照Go URL参数。

2.3 Dashboard URL 的一个应用案例

Oracle BI 所生成的视图中,可以在列属性部分设置导航,指向某个页面或Dashboard。而且该列的所有行都将指向同一页面或Dashboard,也就是说返回的结果和该行的其它值无关。在实际应用中,常常期望返回和该行其它列相关的结果,可以利用Dashboard URL实现这一点。

下面通过一个例子来说明:

现在有一个名为Market Analysis Detail的表,如下所示

┌──────────┬───┬──────┬───────┐

│Market          │Year│Dollars   │link         │

├──────────┼───┼──────┼───────┤

│                    │2000│$282,113│Click here│

│                    ├───┼──────┼───────┤

│ATLANTA       │2001│$474,691│Click here│

│                    ├───┼──────┼───────┤

│                    │2002│$74,545 │Click here│

├──────────┼───┼──────┼───────┤

│                    │2000│$85,595 │Click here│

│                    ├───┼──────┼───────┤

│BIRMINGHAM │2001│$202,137│Click here│

│                    ├───┼──────┼───────┤

│                     │2002│$18,052 │Click here│

└──────────┴───┴──────┴───────┘

其中link是一个自定义的一个列。在列属性里设置”将文本视为HTML”。

编辑列公式为:

‘<a href=saw.dll?Dashboard&PortalPath=/shared/test/_portal/test&Page=test&Action=Navigate&P0=1&P1=eq&P2=Markets.Market&P3=1+‘||Markets.Market||‘>Click here</a>‘

这样,点击第一行的”Click here”就可以显示该行Market的详细销售信息。

前三行的”Click here”实际指向了:

saw.dll?Dashboard&PortalPath=/shared/test/_portal/test&Page=test&Action=Navigate&P0=1&P1=eq&P2=Markets.Market&P3=1+ ATLANTA

后三行的”Click here”实际指向了:

saw.dll?Dashboard&PortalPath=/shared/test/_portal/test&Page=test&Action=Navigate&P0=1&P1=eq&P2=Markets.Market&P3=1+ BIRMINGHAM

当然,使用Go URL也可以达到类似效果,只是最终指向的不是Dashboard,而是某个特定的Oracle BI视图。

3 使用Go URL传递SQL或筛选器

此部分介绍了如何在Go URL中传递SQL命令以及如何传递筛选器来控制Oracle BI视图结果,包含以下内容: ? (1)、在Go URL中传递SQL命令; ?

(2)、在Go URL中传递筛选器。

3.1 在Go URL中传递SQL命令

在Go URL中传递SQL命令的格式如下:

saw.dll?Go&SQL= 可以与&Style,&Options等参数同时使用。

需要注意的是,SQL语句中的空格必须用”+”替换。

例如:

saw.dll?Go&SQL=select+Region,Dollars+from+SupplierSales 将返回从名为SupplierSales中选出的名为Region.Dollars的列。

3.2 在Go URL中传递筛选器

Go URL中可以包含筛选器对所请求的目标进行筛选。需要注意的是,在URL中涉及的列必须是在视图中本身就含有筛选提示的列。

格式:

&Action=Navigate &P0=n n表示要进行筛选的列的数量,取值范围为1~6。

&P1=op op的值及其含义见下表。.

参数 说明

------------------------------------------------

eq 等于或在

neq 不等于或不在

lt 小于

gt 大于

ge 大于等于

bwith 开始于

ewith 结束于

cany 包含任何(&P3中的值)

call 包含所有(&P3中的值)

like 使用%25代替常规的%通配符

top &p3=1+n,n是要显示的项的数目

bottom &p3=1+n,n是要显示的项的数目

bet 介于(&P3中必须包含两个值)

null 为空(&P3必须为0或省略)

nnull 不为空(&P3必须为0或省略)

&P2=ttt.ccc ttt为表名,ccc为列名,空格必须用%20替换

&P3=n+xxx+yyy+zzz n为值的数目,xxx,yyy,zzz为实际的值

例如:

返回Central和East地区的记录:

Saw.dll?Go&Path=/Shared/Test/ testform&Action=Navigate&P0=1&P1=eq&P2=Customers.Region&P3=2+Central+East 返回地区名以E开头的记录: saw.dll?Go&Path=vate&P0=1&P1=bwith&P2=Customers.Region&P3=1+E

返回地区名为E....t格式的记录:

saw.dll?Go&Path=/Shared/Test/ testform&Action=Navigate&P0=1&P1=like&P2=Customers.Region&P3=1+E%25t

返回销量额前两名地区的记录:

saw.dll?Go&Path=/Shared/Test/ testform&Action=Navigate&P0=1&P1=top&P2="Sales%20Facts".Dollars&P3=1+2

返回销售额介于2,000,000 和 2,500,000之间的记录:

saw.dll?Go&Path=/Shared/Test/ testform&Action=Navigate&P0=1&P1=top&P2="Sales%20Facts".Dollars&P3=2+2000000 +2500000

返回地区名以E开头且销售额超过2,000,000的记录:

saw.dll?Go&Path=/Shared/Test/ testform&Action=Navigate&P0=2&P1=cany&P2=Customers.Region&P3=1+e&P4=gt&P5="Sales%20Facts".Dollars&P6=1+20000000

注意,在Go Dashboard也可以使用类似的格式和参数传递筛选器。

4 使用JavaScript进行筛选

Oracle BI提供了一些JavaSript函数,可以用来实现和使用提示及筛选器类似的效果。

这些函数定义在 OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res\b_mozilla\viewhelper.js中。 ?

4.1 GoNav & GoNavEx

这两个函数用于对某一特定的Oracle BI视图进行控制。

函数原型: GoNav(event, sPath, sTbl, sCol, sVal, sTarget)

其中:

event:事件指示符,一般设置为1

sPath:目标Oracle BI的路径及名称

sCol: 所要进行筛选的表名

sVal: 所要进行筛选的列名

sTarget (可选):设置为”_blank”表示在新窗口中显示结果

例如:

<a href= "javascript:GoNav(1,‘/Shared/Paint Demo/Sales Summaries/Regional Analysis/Market Analysis Detail‘, ‘Markets‘,‘Market‘, ‘BOSTON‘);">Click here to navigate to Transaction Details with ‘‘Some value‘</a>

该链接指向的页面显示名为Market Analysis Detail的视图中,Markets.Market为’BOSTON’的记录。 GoNav函数在其内部调用了GoNavEx。GoNavEx可以视为GoNav的多参数版本,可以同时对同一视图中的多个列(最多4个)进行筛选。

函数原型: GoNavEx(event, sPath,sTarget,sTbl1,sCol1,sVal1,sTbl2,sCol2,sVal2,sTbl3,sCol3,sVal3,sTbl4,sCol4,sVal4) 各参数的含义与GoNav中参数含义的类似。

注意,在GoNavEx中,sTarget必须设置,不能省略。

例如:

<a href= "javascript:GoNavEx(1,‘/Shared/Paint Demo/Sales Summaries/Regional Analysis/Market Analysis Detail‘,‘_blank‘,‘Markets‘,‘Market‘,‘ATLANTA‘,‘Periods‘,‘Year‘,‘2001‘);">Click here to navigate to Transaction with ‘‘Some value‘</a>

该链接指向的页面显示名为Market Analysis Detail的视图中,Markets.Market为’ATLANTA’且Year为’2001’的记录. ?

4.2 PortalNav & PortalPageNav

这两个函数用于对某一特定的Dashboard进行控制。

函数原型: PortalNav(event, sPortal,sTbl,sCol,sVal)

其中:

event:事件指示符,一般设置为1

sPortal:目标Dashboard的路径及名称

sCol: 所要进行筛选的表名

sVal: 所要进行筛选的列名

例如:

<a href="javascript:PortalNav(1, ‘/shared/test/_portal/test‘,‘Periods‘,‘Year‘,‘2001‘);">Click here to navigate to Transaction with ‘‘Some value‘</a>

该链接指向的页面显示名为test的Dashboard中,Year为’2001’的记录。

PortalNav函数在其内部调用了PortalPageNav。PortalPageNav可以视为PortalNav的多参数版本,可以同时对同一Dashboard中的多个列(最多9个)进行筛选。

函数原型: PortalPageNav(event,sPortal,null, sTbl1,sCol1,sVal1,sTbl2,sCol2,sVal2,sTbl3,sCol3,sVal3,……sTbl9,sCol9,sVal9)

各参数的含义与PortalNav中参数含义的类似。

例如:

<a href= "javascript:PortalPageNav(1,‘/shared/test/_portal/test‘,null,‘Markets‘,‘Market‘,‘ATLANTA‘,‘Periods‘,‘Year‘,‘2001‘);">Click here to navigate to Transaction with ‘‘Some value‘</a>

该链接指向的页面显示名为test的Dashboard中,Markets.Market为’ATLANTA’且年份为’2001’的记录。

时间: 2024-10-20 06:58:29

在Oracle BI 中使用HTTP的相关文章

Oracle BI Publisher 企业版安装后的配置(BI Publisher Enterprise Edition)

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 简单介绍 安装之后的配置主要包括4项: 1.        配置计划数据库 2.        配置JDBC演示数据源 3.        配置File演示数据源 4.        安装BI Publisher桌面client. 配置Scheduler数据库 要定期执行报表的话,就须要配置一个数据库并安装BI Publisher scheduler schema,其过程例如以下: 1.  

Oracle数据库中scott用户不存在的解决方法

SCOTT用户是我们学习Oracle过程中一个非常重要的实验对象,在我们建立数据库的时候,如果是选择定制模式的话,SCOTT用户是不会默认出现的,不过我们可以通过使用几个简单命令来使这个用户出现.以下是解决方法(基于windows): 1.开始--运行--cmd 输入:sqlplus / as sysdba 连接到数据库 SQL>conn scott/tiger 如果scott不存在,会报ORA-01017的错误,并会断开连接 2.我们以SYS用户重新连接 SQL>conn sys/密码 as

oracle 11g 中 (oracle 10g) crsctl 的 替换命令

 oracle 11g 中 (oracle 10g) crsctl 的 替换命令 Deprecated Command Replacement Commands crs_stat  ---集群状态检查 crsctl check cluster -all crsctl stat res -t crs_register  --集群资源注冊 crsctl add resource crsctl add type crsctl modify resource crsctl modify type c

Oracle RAC中的几个IP

oracle11g开始,设置了SCAN ip,除此之外还有public ip,virtual ip,private ip,容易让人犯晕. 下面逐一解释: public ip: 类似与单实例的oracle数据库ip,主要用于管理\访问. virtual ip(vip): oracle在rac架构中专用,这个vip用于实现故障转移,当一个节点发生故障时,其vip会"浮动"到另外一个正常的节点,也即该正常节点对应着两个vip了. SCAN: Single Client Access Name

关于Oracle GoldenGate中Extract的checkpoint的理解 转载

什么是checkpoint? 在Oracle 数据库中checkpoint的意思是将内存中的脏数据强制写入到磁盘的事件,其作用是保持内存中的数据与磁盘上的数据一致.SCN是用来描述该事件发生的准确的时间点. 而GoldenGate中出现的checkpoint有着不同的含义.简单的说就是position,位置的意思.它记录了Extract进程在抽取事务时的进度.使用INFO showch 命令可以查看当前正在运行的Extract进程中所记录的checkpoint. 当GoldenGate被计划内或

如何在oracle 12c中创建普通用户

-------如何在oracle 12c中创建普通用户------- [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sun Nov 29 21:43:50 2015 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edit

Native Oracle Barcode Generator可以添加条形码到Oracle Reports中而不用安装特定的字体库

Native Oracle Barcode Generator条形码控件是一个可以被嵌入到Oracle Reports中用于创建条码图像的一个对象.一旦安装后,不需要安装其它的任何组件或字体库来创建条码:它是完整的条码生成器. 具体功能: 轻松地添加条形码到Oracle Reports中而不用安装特定的字体库. 包括正在申请专利的技术在其他任何公司都是无法获得的. 在一个编译好的PLL库中提供一个完整的Oracle 条码生成器对象. 创建的本地和纯PL/SQL 代码的源代码是可用的. 多地区设置

Oracle Sqlplus中上下键出现^[[A乱码问题

安装rlwrap 下载:http://utopia.knoware.nl/~hlub/uck/rlwrap/ 或者 百度云盘:http://pan.baidu.com/s/1ntM8YXr 需要先安装readline,否则会报一下错误:You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program! 如下: [[email protected] ~]# cd /opt/ [[ema

如何处理Oracle数据库中的坏块问题

本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了. 一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction layer,data layer.在我们对数据块进