Cell 要素 (MDDataSet) (XMLA)
親要素である CellData 要素に含まれる 1 つのセルについての情報が含まれます。
構文
<CellData>
<Cell CellOrdinal="unsignedInt">
<!-- Zero or more cell property values -->
<!-- or -->
<Error>...</Error>
</Cell>
</CellData>
要素の特性
特性 |
説明 |
---|---|
データ型と長さ |
なし |
既定値 |
なし |
カーディナリティ |
0-n : 省略可能な要素で、出現する場合は複数回の出現が可能です |
属性
属性 |
説明 |
---|---|
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 の場合、除外することができます。
セル プロパティのエラー
計算エラーのために特定のセルの値を返すことができない場合など、MicrosoftSQL ServerAnalysis 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 の場合、組 {CA, 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>