Cell 要素 (MDDataSet) (XMLA)
親要素である CellData 要素に含まれる 1 つのセルについての情報が含まれます。
構文
<CellData>
<Cell CellOrdinal="unsignedInt">
<!-- Zero or more cell property values -->
<!-- or -->
<Error>...</Error>
</Cell>
</CellData>
要素の特性
特性 | 説明 |
---|---|
データ型と長さ |
なし |
既定値 |
なし |
カーディナリティ |
0-n : 省略可能な要素で、出現する場合は複数回の出現が可能です |
要素の関係
関係 | 要素 |
---|---|
親要素 |
|
子要素 |
0 個以上のセル プロパティ値、または Error |
属性
属性 | 説明 |
---|---|
CellOrdinal |
必須で、unsignedInt 型の属性。多次元データセット内におけるセルの位置を表す序数です。 |
解説
親の root 要素の中では、Axes 要素の後に CellData 要素が続きます。これは、多次元データセットに返される各セルのプロパティ値を含む Cell 要素のコレクションです。Cell 要素には、CellOrdinal 属性 (多次元データセット内におけるセルの位置を表す 0 から始まる序数を示します)、およびセルに関連付けられている各セル プロパティ値に対応する要素が含まれます。Cell 要素のセル プロパティ値は、それぞれ個別の XML 要素によって定義されます。セル プロパティの値は XML 要素に含まれる値であり、セル プロパティの名前は、親のルート要素の CellInfo 要素で定義されるとおり、XML 要素の名前に対応します。
セル プロパティ値の構文は次のとおりです。
<CellProperty xsi:type="string">value</CellProperty>
セル プロパティ値のデータ型は、VALUE セル プロパティについてのみ指定できます。他のセル プロパティのデータ型は、CellInfo 要素に含まれるセル プロパティ定義によって決まります。セル プロパティ値の要素は、セル プロパティの既定値が指定されている場合 (CellInfo 要素に含まれるセル プロパティ定義に Default 要素を含めることによって)、あるいは既定値が指定されておらずセル プロパティが NULL の場合、除外することができます。
セル プロパティのエラー
計算エラーのために特定のセルの値を返すことができない場合など、Microsoft SQL Server 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 は軸の数) と見なして行われます。セルは、行優先順で指定されます。
たとえば、列に関して 4 つのメジャーと、行に関して 3 つの州と 4 つの四半期のクロス積を要求するクエリがあるとします。以下のデータセットの結果では、結果セットのうち太字で示した部分の CellOrdinal プロパティは、{9, 10, 11, 13, 14, 15, 17, 18, 19} というセットになります。これは、セルの番号付けが、左上のセルの CellOrdinal を 0 として行優先順で行われるためです。
State | 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 の場合、組 {California, Q3} の序数は 2 です。
i = 0 の場合、Ei = 1 です。そのため、i = 0 の場合の合計は 1 * 1 = 1 になり、i = 1 の場合の合計は 2 (組の序数) と 4 (1 * 4 として計算された Ei の値) の積、つまり 8 になります。1 + 8 の合計は 9 であり、これが目的のセルの序数になります。
使用例
次の例は、各セルの VALUE、FORMATTED_VALUE、および FORMAT_STRING セル プロパティ値を含む Cell 要素の構造を示しています。
<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>