Élément Cell (MDDataSet) (XMLA)

Contient des informations sur une cellule unique contenue par un élément CellData parent.

Syntaxe

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

Caractéristiques de l’élément

Caractéristique Description
Type de données et longueur None
Valeur par défaut None
Cardinalité 0-n : élément facultatif pouvant apparaître plusieurs fois.

Relations d’éléments

Relation Élément
Éléments parents CellData
Éléments enfants Zéro, une ou plusieurs valeurs de propriété de cellule ou erreur

Attributs

Attribut Description
CellOrdinal Attribut unsignedInt requis. Position ordinale de la cellule dans le dataset multidimensionnel.

Remarques

Dans l’élément root parent, l’élément axes est suivi par l’élément CellData , une collection d’éléments Cell qui contiennent les valeurs de propriété pour chaque cellule retournée dans le dataset multidimensionnel. L’élément Cell contient l’attribut CellOrdinal , qui indique la position ordinale de base zéro de la cellule dans le dataset multidimensionnel et un élément pour chaque valeur de propriété de cellule associée à la cellule. Chaque valeur de propriété de cellule dans l’élément Cell est définie par un élément XML distinct. La valeur de la propriété de cellule est celle des données contenues dans l’élément XML, et le nom de la propriété de cellule, tel que défini dans l’élément CellInfo de l’élément racine parent, correspond au nom de l’élément XML.

La syntaxe suivante décrit une valeur de propriété de cellule :

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

Le type de données d'une valeur de propriété de cellule est spécifié uniquement pour la propriété de cellule VALUE. Les types de données d’autres propriétés de cellule sont déterminés par la définition de propriété de cellule incluse dans l’élément CellInfo . Un élément de valeur de propriété de cellule peut être exclu si une valeur par défaut a été spécifiée (en incluant un élément par défaut pour une définition de propriété de cellule contenue dans l’élément CellInfo ) pour une propriété de cellule, ou si aucune valeur par défaut n’a été spécifiée et que la valeur de la propriété de cellule est null.

Erreurs de propriété de cellule

Si une propriété de cellule ne peut pas être retournée en raison d’une erreur qui se produit sur l’instance de Analysis Services, telle qu’une erreur de calcul qui empêche le retour de la valeur pour une cellule donnée, un élément Error remplace le contenu de la propriété de cellule en question. L'exemple XML suivant décrit une erreur de propriété de cellule :

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

Calcul des valeurs ordinales d'une cellule

La référence d’axe pour une cellule peut être calculée en fonction d’une valeur d’attribut CellOrdinal . Conceptuellement, les cellules sont numérotées dans un DataSet comme si le jeu de données était un tableau de dimensions p, où p est le nombre d’axes. Les cellules sont traitées dans l'ordre ligne-champ.

Imaginez une requête demandant quatre mesures sur les colonnes et une jointure croisée de deux états (State) avec quatre trimestres (Quarter) sur les lignes. Dans le résultat du jeu de données, la propriété CellOrdinal pour la partie du résultat du DataSet affichée en gras est l’ensemble {9, 10, 11, 13, 14, 15, 17, 18, 19}. Il s’agit de l’ensemble, car les cellules sont numérotées dans l’ordre ligne-principal, en commençant par un CellOrdinal de 0 pour la cellule supérieure gauche.

State Quarter (Trimestre) Unit Sales Store Cost Store Sales Sales Count
Californie 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 6 184
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

Si l'on applique la formule présentée dans la figure, l'axe k = 0 possède Uk = 4 membres et l'axe k = 1 possède Uk = 8 tuples. P = 2 correspond au nombre total d'axes dans la requête. Si l'on définit la cellule correspondant à {California, Q3, Store Cost} en tant que valeur S0, la somme de départ est i = 0 à 1. Pour i = 0, la valeur ordinale du tuple sur l'axe 0 de {Store Cost} est 1. Pour i = 1, l'ordinal du tuple de {CA, Q3} est 2.

Pour i = 0, Ei = 1, donc pour i = 0 la somme est 1 * 1 = 1 et, pour i = 1, la somme est 2 (ordinal du tuple) multipliée par 4 (valeur Ei calculée sous la forme 1 * 4) ou 8. La somme de 1 + 8 est ensuite 9, soit l'ordinal de cette cellule.

Exemple

L’exemple suivant illustre la structure de l’élément Cell , y compris la valeur, FORMATTED_VALUE et FORMAT_STRING valeurs de propriété de cellule pour chaque cellule.

<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>