Derniers tutoriels :
Sondage :
Publicité
Derniers articles :
![]() |
[Résolu] [SQL Server 2k5 SSAS] Calcul Nommé - Version imprimable +- Forums d'entraide informatique - Les forums de PCW (http://forum.pcinfo-web.com) +-- Forum : Forum Informatique (/forumdisplay.php?fid=39) +--- Forum : Internet - Navigation -Programmation - Scripts - Developpement (/forumdisplay.php?fid=8) +--- Discussion : [Résolu] [SQL Server 2k5 SSAS] Calcul Nommé (/showthread.php?tid=2456) |
[Résolu][SQL Server 2k5 SSAS] Calcul Nommé - dardadax - 18-06-2008 15:08 PM Bonjour tout le monde ! Je ne sais pas si vous allez pouvoir m'aider, mais comme c'est toujours ici qu'on m'a le mieux répondu (et toujours en bon), autant essayer. Pour information, je travaille sous SQL Server 2005 version Standard. Le but du calcul nommé, c'est d'avoir une colonne supplémentaire dans une table de fait nommée par exemple FAIT_Question, afin que celle-ci possède un élément agrégé plus rapidement calculé que lorsque l'on fait un membre calculé en MDX (du SQL multi dimensionnel) lorsque l'on parcourt le cube, sous excel par exemple. La question est simple : faire des tests... Premier test : ma valeur attendue est-elle vide ? (le NULL) -> oui : NULL -> non : Second test Second Test : ma valeur attendue est-elle égale à 0 ? -> oui : NULL -> non : Dernier test Dernier Test : ma valeur réelle est-elle vide ? -> oui : NULL -> non : réel / attendu
SELECT <Table Name in Data Source>.* , <Expression> AS <Column Name> FROM <Table Name in Data Source> AS <Table Name in Data Source View>
case when
- Troll - 18-06-2008 15:36 PM Bonsoir, Essaies ceci :
- dardadax - 19-06-2008 07:29 AM Bonjour Troll ! Merci de ta réponse, je l'ai testé mais j'ai toujours le même message, à savoir : Citation :TITRE : Microsoft Visual Studio Comme je l'avais dit dans le précédent message, j'avais tenté plusieurs options au niveau du "=", à savoir ='0', =0, ==0 (tous les mix possibles entre le simple et double "égal" Je viens de trouver pour le problème du "=" ![]() Il y a encore quelques modifications(le ISNULL vient du SSIS...remplacé par IS NULL...) trouvées sur le net également.
Citation :SELECT FAIT_Question.* , <Expression> AS <Column Name> FROM FAIT_Question AS FAIT_Question Petit détail qui a son importance : ça marche sur l'exécuteur de requête de SQL Server mais pas chez SSAS. Je pense que le problème vient de la distinction <Table Name in Data Source> et <Table Name in Data Source View>...Je regarde de suite et éditerai une fois que ça marche. Edit : aussi bizarre que cela puisse paraître, ça marche en requête nommée mais pas en calcul nommé...bizarre -_-' En fait c'est un truc simple : via l'éditeur il faut juste mettre la définition du calcul... Donc ne pas suivre la démarche de Microsoft (peu complète) ne donnant que la formule de codage complète (non pas à saisir lol) CASE WHEN &#91;VALEUR_ATTENDUE&#93; IS NULL
- Troll - 19-06-2008 17:37 PM Ah bah on était à côté de la plaquet et de la syntaxe ![]() Par contre est-ce normal que tu aies viré le SELECT ? - dardadax - 22-06-2008 17:33 PM Salut Troll ^^ A côté de la plaque mais bon, comme du côté langage à choisir, le logiciel n'est pas très clair... lol Oui j'ai viré le select parce que contrairement à ce qu'affiche l'aide...il ne faut insérer que le calcul de l'expression elle-même...(qu'il insère dans une requête SQL qui'il génère automatiquement ! En gros l'aide te dit : il faut faire l'instruction complète avec le select, mais la partie SSAS de création de calcul nommé ne veut que le "comment je la calcule, ta nouvelle colonne?" ça marche donc c'est bon ^^ reste plus qu'à trouver l'occasion de l'utiliser ![]() d'après ce que j'ai pu voir un peu partout, les calculs nommés sont utilisés pour simplifier le calcul du cube en insérant "en dur" les valeurs que l'on utilise couramment, comme le prix TTC basé sur le prix HT et la TVA du pays par exemple... résultat : un affichage plus rapide du résultat de la requête via excel (ou tout autre logiciel de reporting) Pour ceux qui ne connaissent pas le principe, le cube est une sorte de stockage multidimmensionnel où tous les recouements entre tables sont précalculés. Résultat : on n'exécute plus de requête (hors calculs d'agrégats) mais on parcourt le cube, ce qui revient à lire les données (beaucoup plus rapide en somme) Marchenko. [Résolu][SQL Server 2k5 SSAS] Calcul Nommé - Troll - 22-06-2008 21:16 PM Ok merci pour l'explication ![]() |