Share via


Élément Cell (MDDataSet) (XMLA)

Contient des informations sur une cellule unique contenue dans 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

Aucun

Valeur par défaut

Aucune

Cardinalité

0-n : élément facultatif susceptible d'apparaître plusieurs fois.

Relations entre les éléments

Relation

Élément

Éléments parents

CellData

Éléments enfants

Aucune ou plusieurs valeurs de propriété de cellule ou Error

Attributs

Attribut

Description

CellOrdinal

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

Notes

Dans l'élément root parent, l'élément Axes est suivi de l'élément CellData, collection d'éléments Cell contenant les valeurs de propriété de 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, ainsi qu'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 correspond aux données figurant 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. Une valeur de propriété de cellule peut être exclue si une valeur par défaut a été spécifiée (en incluant un élément Default 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 si la valeur de la propriété de cellule a la valeur NULL.

Erreurs de propriété de cellule

Si aucune propriété de cellule ne peut être retournée en raison d'une erreur survenue dans l'instance de MicrosoftSQL ServerAnalysis Services, notamment une erreur de calcul empêchant 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

Les axes de référence d'une cellule peuvent être calculés sur la base d'une valeur d'attribut CellOrdinal. D'un point de vue conceptuel, les cellules sont comptabilisées dans un dataset comme si ce dernier constituait un tableau p-dimensionnel, où p désigne le nombre des 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. En analysant le résultat du dataset ci-après, on constate que, pour la partie du résultat du dataset affichée en caractères gras, la propriété CellOrdinal correspond au jeu {9, 10, 11, 13, 14, 15, 17, 18, 19} puisque les cellules sont comptabilisées dans l'ordre ligne-champ en partant d'une valeur CellOrdinal égale à 0 pour la cellule supérieure gauche.

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

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 présente la structure de l'élément Cell, y compris les valeurs de propriété de cellule VALUE, FORMATTED_VALUE et FORMAT_STRING de 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>

Voir aussi

Référence

Concepts