Condition WHERE sur une hiérarchie [MDX] - Programmation
MarshPosté le 24-12-2010 à 13:29:54
Alors, voila. On a des cubes chez nous, et ça m'amuse d'y faire un tour pour voir comment ça fonctionne. Accessoirement, j'ai un petit souci à résoudre, j'ai plus d'expert cubes dans mon équipe pour cause de congés de fin d'année, et mes seules connaissances se résument à savoir où trouver la doc dans MSDN (on utilise SSAS).
Le truc est tout simple, mais moi je me bats encore avec la doc pour piger la logique du bordel.
Soit la dimension "D" constituée d'un membre M, se subdivisant lui-même en une hiérarchie avec trois membres au même niveau : M1, M2 et M3. Bref : D |- M |- M1 |- M2 |- M3
Et j'ai la requête MDX suivante, qui marche très bien :
SELECT FROM [CUBE] WHERE ( ...des conditions... [D].[M].&[Valeur pour M1]&[Valeur pour M2]&[Valeur pour M3], [Measures].[une mesure] ) CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
J'obtiens en retour un superbe chiffre :
7860291.46
Ce que j'essaie d'arriver à faire, c'est d'obtenir un nombre lorsque je n'ai que M1 comme valeur de disponible. Un truc du genre :
SELECT FROM [CUBE] WHERE ( ...des conditions... [D].[M].&[Valeur pour M1], [Measures].[une mesure] ) CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
Sauf que là, je n'obtiens que ceci :
(null)
Pourquoi ? Du coup : comment arriver à mes fins ?
J'ai plusieurs hypothèses sur la raison du résultat obtenu, je vais retourner à la documentation en attendant les réponses.
Message édité par Elmoricq le 24-12-2010 à 13:31:07
Marsh Posté le 24-12-2010 à 13:29:54
Alors, voila. On a des cubes chez nous, et ça m'amuse d'y faire un tour pour voir comment ça fonctionne. Accessoirement, j'ai un petit souci à résoudre, j'ai plus d'expert cubes dans mon équipe pour cause de congés de fin d'année, et mes seules connaissances se résument à savoir où trouver la doc dans MSDN (on utilise SSAS).
Le truc est tout simple, mais moi je me bats encore avec la doc pour piger la logique du bordel.
Soit la dimension "D" constituée d'un membre M, se subdivisant lui-même en une hiérarchie avec trois membres au même niveau : M1, M2 et M3.
Bref :
D
|- M
|- M1
|- M2
|- M3
Et j'ai la requête MDX suivante, qui marche très bien :
SELECT
FROM [CUBE]
WHERE (
...des conditions...
[D].[M].&[Valeur pour M1]&[Valeur pour M2]&[Valeur pour M3],
[Measures].[une mesure]
) CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
J'obtiens en retour un superbe chiffre :
7860291.46
Ce que j'essaie d'arriver à faire, c'est d'obtenir un nombre lorsque je n'ai que M1 comme valeur de disponible.
Un truc du genre :
SELECT
FROM [CUBE]
WHERE (
...des conditions...
[D].[M].&[Valeur pour M1],
[Measures].[une mesure]
) CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
Sauf que là, je n'obtiens que ceci :
(null)
Pourquoi ?
Du coup : comment arriver à mes fins ?
J'ai plusieurs hypothèses sur la raison du résultat obtenu, je vais retourner à la documentation en attendant les réponses.
Message édité par Elmoricq le 24-12-2010 à 13:31:07