BI experience

SSAS et son bug Identity Tinyint

| 0 Commentaires

Par soucis de performance, pour le chargement de schémas en étoile, pour le processing de cube SSAS, les administrateurs de bases de données nous demandent de la rigueur quant au choix des typages de nos champs.

Il se trouve que SSAS a un bug qui ne nous permet pas de toujours agir dans ce sens.

Si l’on construit, par exemple, une dimension avec comme clef incrémentale, propre au système décisionnel, une IDENTITY(1,1) tinyint, cette dernière ne pourra pas être reliée correctement lors de la construction du cube dans SSAS :

« This causes problems when attempting to define FK relationships between this column and related FK columns in toher tables in the DSV. » (voir dans cet article)

En effet, dans la dimension, l’ID incrémental tinyint sera converti en int et dans la table de fait vous aurez un tinyint non incrémental et du coup SSAS n’arrivera pas à les lier.

La solution que certains conseillent est de créer des vues en faisant un CAST sur l’ID en question. Mais je ne sais pas si maintenir ce genre de vue est bien à recommander.

Pour SQL Server 2012, malheureusement, le bug reste entier! voir sur ce lien

Laisser un commentaire

Champs Requis *.

*