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.
Si aucune propriété de cellule ne peut être retournée en raison d'une erreur survenue dans l'instance de Microsoft SQL Server Analysis 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>
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.