变量帮助确保在多个位置准确呈现同一个信息和文本。
可以在 Oracle BI 企业版的多个区域引用变量,这些区域包括分析、仪表盘、KPI、操作、代理和条件。例如,假设您要创建一个标题显示当前用户名的分析。可通过引用变量来实现这一点。
有五种类型的变量可供使用:
会话
资料档案库
表示
请求
全局
会话变量是在每个用户登录时进行初始化的变量。
当用户开始会话时,Oracle BI Server 会创建会话变量的新实例并进行初始化。
会话变量的实例与 Oracle BI Server 中的有效会话一样多。会话变量的每个实例都可以初始化为不同的值。
会话变量由初始化块 (INIT BLOCK) 中指定的查询填充。通常只在登录时执行一次这些会话 INIT BLOCK。但是,如果将 INIT BLOCK 标记为延迟,则可以在稍后引用相关变量时执行它。
会话 INIT BLOCK 通常与查询语句相关联,但也可以与 LDAP 对象相关联。有关 INIT BLOCK 的详细信息,请参阅 Oracle Business Intelligence Enterprise Edition 元数据资料档案库构建器指南中的使用初始化块。
会话变量有两种类型:
系统 - Oracle BI Server 和 Oracle BI Presentation Services 用于特定用途的会话变量。
系统会话变量具有保留名称,这些名称不能用于其他类型的变量 (例如静态变量、动态资料档案库变量和非系统会话变量)。
非系统 - 管理员创建和命名的系统变量。例如,管理员可能会创建用于初始化用户销售区域的 SalesRegion 非系统变量。
管理员使用 Oracle BI 管理工具创建非系统会话变量。
注:
请求变量无法覆盖某些系统会话变量 (例如 USERGUID 或 ROLES)。可以覆盖 DATA_TZ 和 DATA_DISPLAY_TZ (时区) 等其他系统会话变量 (如果已在 Oracle BI 管理工具中配置)。有关详细信息,请参阅Oracle Business Intelligence Enterprise Edition 元数据资料档案库构建器指南中的使用资料档案库变量。
有关详细信息,请参阅 Oracle Business Intelligence Enterprise Edition 元数据资料档案库构建器指南中的关于会话变量。
资料档案库变量是在任意时间点都具有单个值的变量。
资料档案库变量有两种类型:
静态 - 这种资料档案库变量的值将予以保存,除非管理员决定更改,否则不会发生更改。
动态 - 其值由 INIT BLOCK 中指定的查询填充的资料档案库变量。可以指定刷新 INIT BLOCK 的时间间隔。动态 INIT BLOCK 自动按指定的时间间隔刷新其变量值。
动态 INIT BLOCK 只能与查询 (即,SQL 语句、ADF 查询或其他支持的数据源) 相关联。有关 INIT BLOCK 的详细信息,请参阅 Oracle Business Intelligence Enterprise Edition 元数据资料档案库构建器指南中的使用初始化块。
管理员使用 Oracle BI 管理工具创建资料档案库变量。
有关详细信息,请参阅 Oracle Business Intelligence Enterprise Edition 元数据资料档案库构建器指南中的关于资料档案库变量。
表示变量创建并用于仪表盘提示。
表示变量是可在创建以下任一类型仪表盘提示的过程中创建的变量:
列提示 - 作为列提示一部分创建的表示变量与某个列相关联,它可采用的值来自于列值。
要在“新建提示”对话框 (或“编辑提示”对话框) 中创建作为列提示一部分的表示变量,必须在设置变量字段中选择表示变量,然后在变量名字段中输入该变量的名称。
有关使用列提示的信息,请参阅创建列提示。
变量提示 - 作为变量提示一部分创建的表示变量不与任何列相关联,您可以定义它可采用的值。
要在“新建提示”对话框 (或“编辑提示”对话框) 中创建作为变量提示一部分的表示变量,必须在提示字段中选择表示变量,然后在变量名字段中输入该变量的名称。
有关使用变量提示的信息,请参阅创建变量提示。
表示变量的值由创建该变量时所使用的列提示或变量提示填充。也就是说,每次用户在列提示或变量提示中选择一个或多个值时,表示变量的值就会设置为用户选择的一个或多个值。
请求变量会临时覆盖提示数据库请求。
通过请求变量可以覆盖会话变量的值,但这只在从列提示或变量提示启动的数据库请求期间有效。
注:
请求变量无法覆盖某些系统会话变量 (例如 USERGUID 或 ROLES)。可以覆盖 DATA_TZ 和 DATA_DISPLAY_TZ (时区) 等其他系统会话变量 (如果已在 Oracle BI 管理工具中配置)。有关详细信息,请参阅Oracle Business Intelligence Enterprise Edition 元数据资料档案库构建器指南中的使用资料档案库变量。
可在创建以下任一类型仪表盘提示的过程中创建请求变量:
列提示 - 作为列提示一部分创建的请求变量与某个列相关联,它可采用的值来自于列值。
要在新建提示对话框 (或编辑提示对话框) 中创建作为列提示一部分的请求变量,必须在设置变量字段中选择请求变量,然后在变量名字段中输入要覆盖的会话变量的名称。
有关使用列提示的信息,请参阅创建列提示。
变量提示 - 作为变量提示一部分创建的请求变量不与任何列相关联,您可以定义它可采用的值。
要在新建提示对话框 (或编辑提示对话框) 中创建作为变量提示一部分的请求变量,必须在提示字段中选择请求变量,然后在变量名字段中输入要覆盖的会话变量的名称。
有关使用变量提示的信息,请参阅创建变量提示。
请求变量的值由创建该变量时所使用的列提示或变量提示填充。也就是说,每次用户在列提示或变量提示中选择值时,请求变量的值就会设置为用户选择的这个值。不过,只有在从用户按提示的开始按钮到分析结果返回到仪表盘这一段时间内,该值才有效。
注:
只有字符串和数字请求变量才支持多个值。所有其他数据类型只传递第一个值。