J’ai récemment été confronté lors de mes DEV sur SSAS (un cube existant chez un de mes anciens clients) à devoir expliquer comment le calcul d’un simple « count of Rows » pouvait retourner une valeur négative ! En effet, la métrique me retournait en MDX, TCD et autre …des valeurs négatives !

1

Tout naturellement, j’ai commencé par reproduire ce comptage directement coté base de données

2

 

 

 

Résultat correcte, intéressant ! En poussant un peu plus loin mon analyse, je me suis rendu compte que ce comptage ne dépassait pas un seuil de valeur . La piste était la bonne puisque le type de champs spécifié pour cette métrique au niveau SSAS était un « TinyInt »

34

Pour rappel la plage de variation de ce type de champs et de -128 à127 An 8-bit signed integer. The Tinyint value type represents integers with values ranging from negative 128 to positive 127. http://technet.microsoft.com/en-us/library/gg471558.aspx

Comportment SSAS / Explication SSAS, dans ce cas, effectue un comptage en boucle dans cette plage de valeur

Pour preuve : voici ce que donne un TOP 127 modifié directement dans la table de la DSV coté SSAS

5

Puis un Top 128

6

Et finalement un  Top 129

7


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *