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 !
Tout naturellement, j’ai commencé par reproduire ce comptage directement coté base de données
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 »
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. https://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
Puis un Top 128
Et finalement un Top 129
0 commentaires