如何强制Oracle BI 12c生成程序员需要的尽可能多的会话变量?

Oracle BI 12c服务器具有有趣的功能,可以自动创建一组会话变量,而无需在用户会话级别指定它们的名称,也无需在授权给定用户的BI会话时在存储库级别明确描述其编号。

我们在从物理层中输入以下表格的方案中创建:

USERID NAME VALUE ---------- ---------- --------------- weblogic level 11 weblogic status FULL-TIME Tom Kyte status PART-TIME Tom Kyte level 9 Tom Kyte flow cache 

我们将更详细地描述可以动态创建会话级变量的查询。 我们使用系统会话变量USER


 SELECT NAME, VALUE FROM RW_SESSION_VARS WHERE USERID='VALUEOF(NQ_SESSION.USER)' 


请注意,我们不会创建新变量,而是选中“逐行初始化”复选框(不要忘记清除“使用缓存”复选框)。



使用单个文本字段创建仪表板以查看创建的变量。


 [b]@{biServer.variables['NQ_SESSION.USER']}[br/] @{biServer.variables['NQ_SESSION.level']}[br/] @{biServer.variables['NQ_SESSION.status']}[br/] @{biServer.variables['NQ_SESSION.flow']}[/b] 


我们注意到为weblogic用户创建和初始化了两个变量。


 [b]@{biServer.variables['NQ_SESSION.USER']}=>weblogic[br/] @{biServer.variables['NQ_SESSION.level']}=>11[br/] @{biServer.variables['NQ_SESSION.status']}=>FULL-TIME[br/] @{biServer.variables['NQ_SESSION.flow']}=> [/b] 


我们注意到用户Tom Kyte创建并初始化了三个变量。


 [b]@{biServer.variables['NQ_SESSION.USER']}=>Tom Kyte[br/] @{biServer.variables['NQ_SESSION.level']}=>9[br/] @{biServer.variables['NQ_SESSION.status']}=>PART-TIME[br/] @{biServer.variables['NQ_SESSION.flow']}=>cache[/b] 


课程的学生收到了关于如何构建培训中心的Oracle BI 12c存储库的问题,即如何根据程序员的需要创建尽可能多的会话变量。

创建一组会话变量以确保给定授权用户的对象运行时,该问题的答案可能很有用。

附注:由于在完整的教程中,文档中缺少一个平板电脑,
把它放在猫下面。
如何选择存储库变量的类型并访问它。

型式
变量


句法


例子


届会


@ {biServer.variables ['NQ_SESSION。 变量名 ']}


@ {biServer.variables ['NQ_SESSION.USER']}


变量名
会话变量的名称,例如DISPLAYNAME。


对于
您可以使用的系统会话变量列表,请参阅“关于
元数据存储库生成器的 “系统会话变量”
Oracle商业智能企业版指南


资料库


@ {biServer.variables。 变量名 }


@ {biServer.variables.prime_begin}




@ {biServer.variables [' 变量名 ']}


@ {biServer.variables ['prime_begin']}


变量名
存储库变量的名称,例如prime_begin。



简报
或要求


@ {变量。 变量名 } [ 格式 ] { 默认值 }


@ {variables.MyFavoriteRegion} {EASTERN
地区}




@ { 作用域 .variables [' 变量名 ']}


@ {MyFavoriteRegion}


其中:



变量名
表示或请求变量的名称,例如,
MyFavoriteRegion。


@ {dashboard.variables ['MyFavoriteRegion']}


(可选) 格式
取决于变量数据类型的格式掩码,用于
示例#,## 0,MM / DD / YY hh:mm:ss (请注意,格式不是
应用于默认值。)



(可选) 默认 值为
一个常量或变量引用,指示要使用的值,如果
变量名引用的 变量
没有填充。


(@ {myNumVar} [#,## 0] {1000})


范围 标识
变量的限定词。 您必须在以下情况下指定范围:
变量用于多个级别(分析,仪表板页面,
和信息中心),并且您想要访问特定值。 (如果您
不指定范围,则优先顺序为
分析,仪表板页面和仪表板。)



注意: 何时
使用具有显示变量的仪表板提示
有多个值,语法因列而异
类型。 多个值被格式化为逗号分隔的值
因此,任何format子句都将应用于之前的每个值
被逗号隔开。


(@ {variables.MyOwnTimestamp} [YY-MM-DD
hh:mm:ss] {)





(@ {myTextVar} {A,
B,C})


全球性


@ {global.variables。 变量名 }


@ {global.variables.gv_date_n_time}


Source: https://habr.com/ru/post/zh-CN459698/


All Articles