IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Aide sur Requete MDX


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut Aide sur Requete MDX
    Bonjour,

    Comme je l'ai mis dans un précédent post, je fais un rapport basé sur un cube.
    Dans ma table de fait de mon cube j'ai de nombreux ID, dont qqn sont a null, or je voudrai que toutes mes lignes soient affichées.
    Etant donné que je ne veux pas de produit cartésien, je me suis lancé dans une requete MDX utilisant une "union", mais etant débutant en MDX j'ai forcement des erreurs.
    Ma requete est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     SELECT NON EMPTY {[Measures].[MNT COMMANDE] } ON COLUMNS,
    non empty union ({[Dim Commande].[NUMERO].[NUMERO].ALLMEMBERS},{[Dim Marche].[NUMERO].[NUMERO].ALLMEMBERS},all) on rows 
    FROM [Win M9DW] CELL PROPERTIES VALUE
    elle me génère l'erreur suivante:
    TITRE*: Microsoft Visual Studio
    ------------------------------

    Échec de la préparation de la requête.

    ------------------------------
    INFORMATIONS SUPPLÉMENTAIRES*:

    Query (1, 69) Deux ensembles spécifiés dans la fonction «*UNION*» ont une dimensionnalité différente. (Microsoft SQL Server 2005 Analysis Services)

    ------------------------------
    BOUTONS*:

    OK
    ------------------------------
    Je ne vois pas en quoi la dimensionnalité est différente, cela doit venir du fait que je dois avoir une mauvaise définition de "Dimensionnalité"

    merci de votre aide.

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    ok, je pense que j'ai compris...
    Je pensais qu'on pouvais unir 2 sets basé sur des dimensions différentes (j'ai compris ce qu'était des dimensions)...

    Mais je ne vois tj pas comment je peux faire pour avoir dans mon rapports toutes les lignes de la table de Fait de mon cube.
    Dans l'idéal, j'aimerai que les id à 'null' soient remplacé par des 'blanc', d'où mon idée de faire un 'union'.

    Comment puis je faire?

  3. #3
    Membre émérite
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Par défaut
    Essaye un crossjoin peut être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT NON EMPTY {[Measures].[MNT COMMANDE] } ON COLUMNS,
    non empty {[Dim Commande].[NUMERO].[NUMERO].ALLMEMBERS} * {[Dim Marche].[NUMERO].[NUMERO].ALLMEMBERS} ON rows 
    FROM [Win M9DW]
    J'ai rapidement survolé ton code donc ca résoudra peut etre pas ton probleme. A noter qu'en MDX, beaucoup de fonction sont tres différentes du SQL. Le UNION par exemple.

    Vu qu'on est parti pour refaire nos rapports que en pissant de MDX, je peux te dire que c'est un truc de tordu pour des tordus (surtout si tu pars apres sur du MDX en OLE DB)

    Edit :
    Regarde du cote de COALESEEMPTY pour ton histoire de null

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    j'ai regardé COALESCEEmpty, en fait ca me donne l'inverse de ce que je veux, ca me met tous les montants du produit cartésien à 0 qd ils sont nulls, or je voudrai que, meme lorsque j'ai un ID de commande à NULL, avoir la ligne dans le résultat de mon dataset, autrement dit que le résultat ne cherche pas absolument à retrouver la commande. Ca veut simplement dire que j'ai pas eu de commande, mais les autres infos de mon dataset m'interesse et je voudrai les voir.

    J'ai regardé ton post concernant les dates que t'avais à Null, tu mets que t'es passé par une vue pour résoudre ton pb.
    Mais je ne vois pas du tout comment tu peux utiliser une vue pour un rapport basé sur un cube...

  5. #5
    Membre émérite
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Par défaut
    En fait tu veux afficher les null c'est bien ca ? Enleve les NON EMPTY dejà.

    Pour la vue, c'est simple, le cube se base sur des tables ou des vues, donc je modifie la vue pour ajouter des champs qui deviennent des attributs ou des mesures. En fait je fais souvent les calculs dans la vue pour alléger les calculs dans le rapport donc je met des flags en fonction de mes conditions dans la vue et je somme le tout dans le rapport. Pour la transformation de tes null en blancs, tu devrais pouvoir le faire dans une vue. Après le MDX, ca fait 1 semaine que je fais que ca et à chaque fois que j'ai l'impression de piger un truc, ca marche plus donc ca me dégoute petit à petit. Par contre, niveau perf, ca vaut le coup dans certains cas de se palucher le code à la main mais alors des qu'il faut faire des filtres, des tests de valeur ou autres transformation ,ca devient vite chaud.

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    pas tout compris pour la vue...
    Tu crées une vue dans ton DW. qui est pris en compte dans ton cube par la suite?
    Mais tu la remplis comment?

Discussions similaires

  1. [SSRS][2k5] Aide sur Requete MDX
    Par geof dans le forum SSRS
    Réponses: 23
    Dernier message: 21/05/2008, 15h00
  2. [SSRS][2k5]Aide sur Requete MDX
    Par geof dans le forum SSRS
    Réponses: 1
    Dernier message: 27/03/2008, 19h58
  3. Aide sur Requete MDX
    Par geof dans le forum MS SQL Server
    Réponses: 19
    Dernier message: 03/03/2008, 19h00
  4. Aide sur requete MDX
    Par geof dans le forum Développement
    Réponses: 1
    Dernier message: 18/10/2007, 19h33
  5. Aide sur requete MDX
    Par geof dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/10/2007, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo