本节提供有关其他视图的信息,这些视图在您编写 SQL 应用程序来查询 DB2 OLAP 服务器多维数据时, 您也许会发现它们很有用。这些视图包括关系属性、用户定义属性、别名和链接报告对象 (LRO)。
当您向一个维表添加关系属性列时,DB2 OLAP 服务器在该维的关系属性表中记录其名称、数据类型和大小。可通过关系属性视图访问该表。
关系属性视图名是从方块视图的 RATViewName 列获取的。
表 19显示有关关系属性视图中的列的详情。
要访问关系属性视图中的数据,您的应用程序必须首先从方块视图确定该视图的名称。
例如,要查找 Basic 数据库中 Product 维的关系属性视图名,可使用以下 SQL 语句:
SELECT RATVIEWNAME FROM OLAPSERV.SAMPBASI_CUBEVIEW WHERE DIMENSIONNAME='PRODUCT'
此查询可能返回:OLAPSERV.SAMPBASIR_PRODUCT
您可以在 SQL 语句中使用关系属性视图中的信息。 通过从关系属性视图中选择行,您可以获取关系属性列的列表、它们的类型以及对应维的大小。
在以下示例中,一个 SQL SELECT 语句在 SAMPLE 应用程序中检索 BASIC 数据库中的 PRODUCT 维的关系属性信息。
SELECT RATCOLUMNNAME,RATCOLUMNTYPE,RATCOLUMNSIZE FROM SAMPBASIR_PRODUCT.
此查询的结果可能是:
RATCOLUMNNAME RATCOLUMNTYPE RATCOLUMNSIZE ============= ============= ============= COLOR 1 10
在此结果中,在 Product 维上有一个称为 Color 的关系属性列。列类型 1 指示它是字符列,而大小 10 指示它可保留每行最多 10 个字符。
对于一个方块的每个维,DB2 OLAP 服务器都会维护一个用户定义属性视图。 每个成员/属性组合都有一行。使用此视图,可获取有关维的成员的信息。
用户定义属性视图的名称取自方块视图的 UDAViewName 列。
表 20显示有关用户定义属性视图中的列的详情。
名称 | 类型 | 最大大小 | 内容 |
MemberName | VarChar | 80 | 该成员的名称。 |
UDA | VarChar | 80 | 用户定义属性的文本字符串。 |
要访问 UDA 视图中的数据,您的应用程序必须首先从方块视图中确定该 UDA 的名称。
例如,要查找 Basic 数据库中 Product 维的 UDA 视图名,可使用以下 SQL 语句:
SELECT UDAVIEWNAME FROM OLAPSERV.SAMPBASI_CUBEVIEW WHERE DIMENSIONNAME='PRODUCT'
此查询可能返回:OLAPSERV.SAMPBASIU_PRODUCT
要对 Sample 应用程序中的 Basic 数据库列示相关用户定义属性为 Promotion 的所有产品的成员名:
SELECT MEMBERNAME FROM OLAPSERV.SAMPBASIU_PRODUCT WHERE UDA = 'Promotion'
对于每个关系方块,DB2 OLAP 服务器都维护一个别名 ID 视图。对于在轮廓内 使用的每个多维别名表,它都包含一行。使用此视图,可确定对于方块哪些别名是可用的。
别名 ID 视图名取自方块目录视图。
表 21显示有关别名 ID 视图中的列的详情。
名称 | 类型 | 最大大小 | 内容 |
---|---|---|---|
AliasTableName | VarChar | 80 | 多维别名表的名称。它是与方块成员相关的一组别名的集合名称。 |
RelAliasTableName | VarChar | 18 | 此别名表的 DB2 OLAP 服务器名称。此名称用于维视图的别名列。 |
要访问别名 ID 视图中的数据,您的应用程序必须首先从方块目录视图中确定该别名 ID 视图的名称。
例如,要查找 Sample 应用程序中 Basic 数据库的 UDA 视图名,应使用以下 SQL 语句:
SELECT ALIASIDVIEWNAME FROM OLAPSERV.CUBECATALOGIEW WHERE APPNAME='Sample' AND CUBENAME='Basic'
此查询的结果可能是:
OLAPSERV.SAMPBASI_ALIASID
要列示一个方块的别名表:
SELECT ALIASTABLENAME FROM OLAPSERV.SAMPBASI_ALIASID
要确定当使用 French Names 别名表中的别名来构造约束时要使用哪个维视图列:
SELECT RELALIASTABLENAME FROM OLAPSERV.SAMPBASI_ALIASID WHERE ALIASTABLENAME='French Names'
对于 RelAliasTableName 为 FrenchNames 的维,要列示其成员的成员名及其法语别名:
SELECT MEMBERNAME,FRENCHNAMES FROM OLAPSERV.SAMPBASID_PRODUCT
对于每个方块,DB2 OLAP 服务器都维护一个 LRO 视图。使用此视图确定哪些链接报告对象与方块中的个别单元相关。 每个链接对象或单元注解都有一行。
LRO 视图名取自方块目录视图。
表 22显示有关 LRO 视图中列的详情。
在该视图中,每个维有一个附加列,还有一些包含有关相关对象信息的列。
要访问 LRO 视图中的数据,您的应用程序必须首先从方块目录视图中确定该 LRO 视图的名称。
例如,要查找 Sample 应用程序中 Basic 数据库的 LRO 视图名,应使用以下 SQL 语句:
SELECT LROVIEWNAME FROM OLAPSERV.CUBECATALOGVIEW WHERE APPNAME='Sample' AND CUBENAME='Basic'
此查询的结果可能是:
OLAPSERV.SAMPBASI_LROVIEW
要列示与一个方块相关的所有应用程序对象的说明:
SELECT OBJDESC, USERNAME FROM OLAPSERV.SAMPBASI_LROVIEW WHERE OBJTYPE=0
要列示 Gary Robinson 所做的所有注解:
SELECT NOTE FROM OLAPSERV.SAMPBASI_LROVIEW WHERE OBJTYPE=1 AND USERNAME='Gary Robinson'
通过在 SELECT 语句的 WHERE 子句中指定一个单元的每一维的成员 ID,可查询与该单元相关的链接报告对象。