次の方法で共有


Cell 要素 (MDDataSet) (XMLA)

親 CellData 要素に含まれる 1 つのセルに関 する情報を格納 します。

構文

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

要素の特性

特徴 説明
データ型と長さ なし
既定値 なし
カーディナリティ 0-n : 省略可能な要素で、出現する場合は複数回の出現が可能です

要素リレーションシップ

リレーションシップ 要素
親要素 CellData
子要素 0 個以上のセル プロパティ値または エラー

属性

属性 説明
CellOrdinal 必要 な unsignedInt 属性。 多次元データセット内におけるセルの位置を表す序数です。

注釈

親ルート要素では、Axes 要素の後に CellData 要素が続きます。これは、多次元データセットで返される各セルのプロパティ値を含む Cell 要素のコレクションです。 Cell 要素には CellOrdinal 属性が含まれます。これは、多次元データセット内のセルの 0 から始る序数位置と、セルに関連付けられている各セル プロパティ値に対して 1 つの要素を示します。 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 は軸の数です。 セルは、行優先順で指定されます。

たとえば、列に関して 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
カリフォルニア 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
オレゴン 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
ワシントン 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 であり、これが目的のセルの序数になります。

次の例は、セル要素の構造を示しています。これには、 各セルの 値、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>