XML for Analysis 规范[6]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 angelgavin 的 blog


下面的行将四元组集表示为二维元组集合:

{ ( 1999, actual), ( 1999, budget), ( 2000, actual), ( 2000, budget) }

下面的行将四元组集表示为两个一维集的笛卡尔乘积:

{ 1999, 2000 } x {actual, budget}

两种表示方法各具优缺点。二维元组易于客户端工具使用。一维集的笛卡尔乘积占用的空间较小,并且保留了集的多维本质。

下表列出了可以用于定义和描述坐标轴结构和成员的操作。

操作 说明
member 表示维层次结构成员的坐标轴的最小单位
tuple 来自不同维层次结构的成员向量
members 来自同一维层次结构的成员对象集
tuples 具有相同维数的元组对象集合
union 集联合
crossproduct 集的笛卡尔乘积

根据前面的示例,这些操作将把二维元组和一维集的笛卡尔乘积转换为如下形式。

二维元组

tuples ( 
tuple( member(1999), member(actual) ), 
tuple( member(1999), member(budget) ), 
tuple( member(2000), member(actual) ), 
tuple( member(2000), member(budget) ) 
)

一维集的笛卡尔乘积

crossproduct ( 
members (member(1999), member(2000) ), 
members (member(actual), member(budget) 
)

这些操作的 xml 表示法遵循这些规则(其中 member_properties 值是指在相应的 axisinfo 部分所定义的成员属性列表):

member    : <member> member_properties </member>

tuple         : <tuple> member_list </tuple>

set            : <members> member_list </members>

set            : <tuples> tuple_list </tuples>

set            : <crossproduct> set_list </crossproduct>

set            : <union> set_list </union>

member_list : member [ member ... ]

tuple_list     : tuple [ tuple ... ]

set_list        : set [ set ... ]

如上所示,使用不同的操作,相同的集可以有不同的表示方法。客户端可以使用 axisformat 属性请求具体的表示方法。

tupleformat

在 tupleformat 中,坐标轴表示为元组集。下列操作必须按指定的顺序使用:

<axis>
      <tuples>
            <tuple>
                  <member hierarchy="name">

另外,<member> 元素必须具有指定成员层次结构名称的 hierarchy 特性。

下例说明 tupleformat。

1999 1999 2000
actual budget budget

<axes>
 <axis name="axis0">   
  <tuples>
   <tuple>
    <member hierarchy="time">
     <uname>[time].[1999]</uname>
     ?    </member>
    <member hierarchy="category">
     <uname>[scenario].[actual]</uname>
     ?    </member>
   </tuple>
   <tuple>
    <member hierarchy="time">
     <uname>[time].[1999]</uname>
     ?    </member>
    <member hierarchy="category">
     <uname>[scenario].[budget]</uname>
     ?    </member>
   </tuple>
   <tuple>
    <member hierarchy="time">
     <uname>[time].[2000]</uname>
     ?    </member>
    <member hierarchy="category">
     <uname>[scenario].[budget]</uname>
     ?    </member>
   </tuple>
  </tuples>
 </axis>
 ...
</axes>

clusterformat

在 clusterformat 中,坐标轴表示为一组群集。每个群集都表示一个来自不同维层次结构成员的交叉乘积。提供程序将定义自己特定的群集算法。以下操作必须按指定的顺序使用:

<axis>
 <crossproduct size="size">
  <members hierarchy="name">
   <member>

要将对象表示为群集,<crossproduct> 元素必须具有 size 特性,该特性表示 crossproduct 中单个 member 集乘积生成的元组数。而 <members> 元素必须具有 hierarchy 特性,该特性指定集中所有成员的维层次结构的名称。

交叉乘积可能包含来自单个维层次结构的成员。

以下示例对两个群集进行了说明:

1999 1999 2000 2000 2001
actual budget actual budget budget
cluster 1 cluster 2

本文关键:XML for Analysis 规范
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top