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>