在Oracle BI 中使用HTTP

系统 1576 0
本文档旨在说明如何在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
 
例如:
 
 
用户以Administrator的身份登陆,密码为Administrator 
 
1.2.2 链接选项。
 
返回的页面中将包含相关链接。
 
格式:
 
&Option=x x可以为以下字符: m: 修改 f: 刷新 d: 打印r: 下载
 
例如:
 
 
1.2.3 应用优化。
 
将根据具体参数值对返回的页面进行适当的优化。
 
格式:
 
&Action=
 
例如:
 
 
返回的页面不会包含页面控制,超链接等信息,适合打印(print)。 
 
1.2.4 指定视图。
 
将返回参数值所指定的视图而不是缺省的组合视图。
 
格式:
 
&ViewName=
 
例如:
 
 
假设请求的视图中包含一个名为Chart的图,那么返回的页面中只显示这个图。 
 
1.2.5 指定风格。
 
将以参数中指定的风格显示视图。
 
格式:
 
&Style=
 
例如:
 
 
1.2.6 结果格式。
 
这个参数可以用来控制返回页面的格式。
 
格式:
 
&Format=XML/HTML
 
例子:
 
 
显示的是页面的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>
 
注意:null位置可指定Dashboard中相应的页名称座位跳转首选页面。
 
该链接指向的页面显示名为test的Dashboard中,Markets.Market为’ATLANTA’且年份为’2001’的记录。

在Oracle BI 中使用HTTP


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论