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

SSRS Discussion :

Faire un "group by" dans un dataset d'un report en MDX


Sujet :

SSRS

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 54
    Points
    54
    Par défaut Faire un "group by" dans un dataset d'un report en MDX
    Bonjour,

    J'ai un Dataset qui se base sur un cube


    j'ai 2 mesure X1 et Y1 qui sont calculé pour une personne P1 qui à pour nom M à un temps T
    j'ai également X2 et Y2 qui sont calculé pour une personne P2 qui a pour nom M à un temps T-1

    (P1 et P2 sont des uniquename)

    dans mon cube j'ai donc :
    P1 M X1 Y1
    P2 M X2 Y2

    je souhaiterais faire afficher dans un rapport

    M X1 Y1 X2 Y2

    en gros en SQL ça donnerais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT M , SUM(X1), SUM(Y1), SUM(X2), SUM(Y2)
    FROM
    (
    SELECT M, X1,Y1,0 as X2, 0 as Y2
    FROM D
    UNION
    SELECT M, 0 as X1, 0 as Y1 ,X2,Y2
    FROM D
    ) DS
    GROUP BY M
    mais je ne sais pas comment le faire en MDX ?
    j'arrive à ressortir une requête avec une ligne pour chaque P Mais je sais pas comment faire pour faire le "group by"

    Exemple de code existant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    With
    Member Measure.X1 as Measure.X,Strtomember(t)
     
    Member Measure.X2 as Measure.X,Strtomember(t-1)
     
    Member Measure.Y1 as Measure.X,Strtomember(t)
     
    Member Measure.Y2 as Measure.X,Strtomember(t-1)
     
    Member Nom as [DIM Personne].[NOM].currentmember.properties("Nom")
     
    SELECT
    Measure.X1,
    Measure.X2,
    Measure.Y1,
    Measure.Y2,
    Nom
     
    ON COLUMNS,
     
    nonempty(crossjoin([DIM Structure].[NOM],[DIM Personne].[NOM].Children))
     
    on rows
    FROM D
    WHERE {t,t-1}  //pour prendre que les personnes du temps T et T-1
    Merci d'avance pour votre aide


    PS: il n'y a pas de hiérarchies

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Vous avez donc une seule et même personne qui se retrouve avec plusieurs clés.
    Mais est-ce valable pour un seul membre ou y a-t-il plusieurs membres de la dimension dans ce cas ??

    Cordialement,

    Jean-Edouard Couderc

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Points : 54
    Points
    54
    Par défaut
    En faite vu que ma dimension personne est historisé, une même personne apparait plusieurs fois dans la dimension.

    C'est la seul dimension qui est dans ce cas.

    La dimension [DIM Structure] est la même pour les 2 lignes de la personne.

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Mais ce que je ne comprends pas c'est ton attribut "Nom" sa clé ce n'est pas la clé de dimension? Si tu veux regrouper par Nom tu n'as qu'a créer un attribut "Nom" qui n'est pas au niveau fin (i.e. SurrogateKey, version historisée) mais à un niveau supérieur (genre Nom a pour clé... le Nom de la personne)

Discussions similaires

  1. Variable avec quotes(simple ou double)dans un input
    Par -Neo- dans le forum Langage
    Réponses: 1
    Dernier message: 25/06/2007, 11h23
  2. Réponses: 15
    Dernier message: 21/02/2007, 17h29

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