Cell 元素 (MDDataSet) (XMLA)

包含有关父 CellData 元素包含的单个单元格的信息。

语法

  
<CellData>  
   <Cell CellOrdinal="unsignedInt">  
      <!-- Zero or more cell property values -->  
      <!-- or -->  
      <Error>...</Error>  
   </Cell>  
</CellData>  

元素特征

特征 说明
数据类型和长度
默认值
基数 0-n:可多次出现的可选元素。

元素关系

关系 元素
父元素 CellData
子元素 零个或多个单元格属性值或 错误

属性

属性 说明
CellOrdinal 必需的 unsignedInt 属性。 多维数据集中单元的序号位置。

备注

在父 元素中, Axes 元素后跟 CellData 元素,该元素是 Cell 元素的集合,其中包含多维数据集中返回的每个单元格的属性值。 Cell 元素包含 CellOrdinal 属性,该属性指示多维数据集中单元格的从零开始序号位置,以及与该单元关联的每个单元属性值的一个元素。 Cell 元素中的每个 单元 属性值由单独的 XML 元素定义。 单元属性的值是 XML 元素包含的数据,在父根元素的 CellInfo 元素中定义的单元属性的名称对应于 XML 元素的名称。

下列语法对单元属性值进行了说明:

<CellProperty xsi:type="string">value</CellProperty>  

只可为 VALUE 单元属性指定单元属性值的数据类型。 其他单元格属性的数据类型由 CellInfo 元素中包含的单元属性定义确定。 如果为单元格属性的 CellInfo 元素) 中包含的单元属性定义包含 Default 元素,或者未指定默认值且单元格属性的值为 null,则指定默认值 (可以排除单元属性值元素。

单元属性错误

如果由于 Analysis Services 实例上发生的错误(如阻止为给定单元格返回值的计算错误)而无法返回单元属性,则 Error 元素将替换该单元格属性的内容。 下面的 XML 示例介绍了一个单元属性错误:

<Cell CellOrdinal="0">  
   <Value xsi:type="xsd:double">  
      <Error>  
         <ErrorCode>2148497527</ErrorCode>  
         <Description>Unknown error</Description>  
      </Error>  
   </Value>  
</Cell>  

计算单元序号值

单元格的轴引用可以基于 CellOrdinal 属性值计算。 从概念上讲,单元在数据集中编号,就像数据集是 p 维数组一样,其中 p 是轴数。 单元按行优先的顺序排列。

假设某查询请求列中的四个度量值和行中两个州(包含四个地区)的交叉连接。 在数据集结果之后,以粗体文本显示的数据集结果部分的 CellOrdinal 属性是集 {9, 10, 11, 13, 14, 15, 17, 18, 19}。 这是设置,因为单元格按行主序编号,从左上角单元格的 CellOrdinal 0 开始。

状态 Quarter Unit sales Store cost Store sales Sales count
California Q1 16890 14431.09 36175.2 5498
Q2 18052 15332.02 38396.75 5915
Q3 18370 15672.83 39394.05 6014
Q4 21436 18094.5 45201.84 7015
Oregon Q1 19287 16081.07 40170.29 6184
Q2 15079 12678.96 31772.88 4799
Q3 16940 14273.78 35880.46 5432
Q4 16353 13738.68 34453.44 5196
Washington Q1 30114 25240.08 63282.86 9906
Q2 29479 24953.25 62496.64 9654
Q3 30538 25958.26 64997.38 10007
Q4 34235 29172.72 73016.34 11217

应用图中显示的公式,轴 k = 0 具有 Uk = 4 个成员,轴 k = 1 具有 Uk = 8 个元组。 P = 2 是该查询的轴的总数。 将单元 {California, Q3, Store Cost} 视为 S0,初始和为 i = 0 和 1。 对于 i = 0,轴 0 上 {Store Cost} 的元组序号为 1。 对于 i = 1,{CA, Q3} 的元组序号为 2。

当 i = 0,Ei = 1 时,对于 i = 0,总数为 1 * 1 = 1;对于 i = 1,总数为 2(元组序号)乘以 4(由 1 * 4 得出的 Ei 的值),即 8。 最终的总数就为 1 + 8,即 9,这就是该单元的单元序号。

示例

下面的示例演示了 cell 元素的结构,包括每个单元格的值、FORMATTED_VALUE 和 FORMAT_STRING 单元格属性值。

<CellData>  
   <Cell CellOrdinal="0">  
      <Value xsi:type="xsd:double">16890</Value>  
      <FmtValue>16,890.00</FmtValue>  
      <FormatString>Standard</FormatString>  
   </Cell>  
   <Cell CellOrdinal="1">  
      <Value xsi:type="xsd:int">50</Value>  
      <FmtValue>50</FmtValue>  
      <FormatString>Standard</FormatString>  
   </Cell>  
   <Cell CellOrdinal="2">  
      <Value xsi:type="xsd:double">36175.2</Value>  
      <FmtValue>$36,175.20</FmtValue>  
      <FormatString>Currency</FormatString>  
   </Cell>  
</CellData>