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 :

[2K5] MDX paramètre


Sujet :

SSRS

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut [2K5] MDX paramètre
    Bonjour,
    Je débute en MDX.

    Je dois exécuter un rapport permettant de comparer l'année en cours et l'année précédente à partir d'un Cube Analysis Services.

    Lorsque j'entre la valeur de l'année en "dur", cela fonctionne parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WITH MEMBER [Measures].[MargeN_1] AS
    (parallelperiod([Temps].[annee -  Mois -  Date].[annee], 1, [Temps].[annee -  Mois -  Date].[annee].&[2008]), [Measures].[Marge])
    Mais lorsque que je veux remplacer cette valeur par un paramètre, il me renvoie des valeurs NULL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WITH MEMBER [Measures].[MargeN_1] AS
    (parallelperiod([Temps].[annee -  Mois -  Date].[annee], 1, [Temps].[annee -  Mois -  Date].[annee].&[strtomember(@Tempsannee)]), [Measures].[Marge])
    J'ai aussi essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WITH MEMBER [Measures].[MargeN_1] AS
    (parallelperiod([Temps].[annee -  Mois -  Date].[annee], 1, strtomember(@Tempsannee)), [Measures].[Marge])
    Et là il me renvoie un message d'erreur :
    Le paramètre Tempsannee n'a pas pu être résolu, car il a été référencé dans une sous-expression interne
    Si quelqu'un pouvait m'aider ce serait sympa
    Merci d'avance

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Et si je mets un nom de paramètre qui n'existe pas comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WITH MEMBER [Measures].[MargeN_1] AS
    (parallelperiod([Temps].[annee -  Mois -  Date].[annee], 1, strtomember(@Blablajenexistepas)), [Measures].[Marge])
    Il me renvoie je même message d'erreur

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    Tu ne peux pas passer de paramètre dans la définition de ton membre calculé, ni de jeux de données. Le ParallelPeriod ne fonctionne que sur le currentmember. Essaye d'abord de définir ton membre calculé. Tu filtres ensuite sur ton cube dans la navigation sur [Date].[Annee - Mois - Date].[Annee].

    With Member [MargeN_1] As

    '(

    [Measures].[Marge]

    , ParallelPeriod([Date].[Annee - Mois - Date].[Annee]

    , 1

    , [Date].[Annee - Mois - Date].[Annee].CurrentMember)

    )'

    Select

    {[Date].[Annee - Mois - Date].[Annee].CurrentMember on columns

    , {[Measures].[Marge], [Measures].[MargeN_1]} on rows

    From Cube1

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse !

    Je vais essayer ça et je te posterai le résultat ici.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Il me retourne une erreur en exécutant ton code :
    La fonction*CURRENTMEMBER attend une expression de hiérarchie pour l'argument*0. Une expression de membre a été utilisée
    Pourtant [Temps].[annee - Mois - Date].[annee] c'est bien une hiérarchie que j'ai définie dans mon Cube
    Et il sort d'où l'argument*0 ?
    C'est louche toute cette histoire

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    En utilisant ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select
     
    {[Measures].[Marge], [Measures].[MargeN_1]} on columns
     
    , {[Temps].[annee].currentmember} on rows
    la requête passe mais je me retrouve avec un #Erreur dans toutes les cases MargeN_1 (en ayant filtré l'année)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    Tu peux poster ta requête complète ?

    D'autre part, j'avoue être un peu étonné par le Currentmember en ligne ... j'aurais mis un .children plutot.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Donc je précise que pour ma requête, je dois avoir les marges pour chaque article :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With Member [MargeN_1] As
    '(
    [Measures].[Marge]
    , ParallelPeriod([Temps].[annee - Mois - Date].[annee].level
    , 1
    , [Temps].[Annee].currentmember )
    )'
     
    SELECT NON EMPTY
    {[Measures].[Marge], [Measures].[MargeN_1]} on columns
    , NON EMPTY {[Article].[Nom Article].[Nom Article].allmembers * [Temps].[annee].currentmember} on rows
     
    FROM [Basestat]
    En allant voir de plus près les erreurs, il me ressort ça :
    VALUE #Erreur Impossible d'appliquer la fonction MDX, car un argument d'expression a retourné un membre NULL.
    FORMATTED_VALUE #Erreur Impossible d'appliquer la fonction MDX, car un argument d'expression a retourné un membre NULL.
    Ce que je comprends pas c'est qu'avec le NON EMPTY il n'est pas sensé me retourner les membres NULL
    Avec un .children le résultat est exactement le même

    EDIT : avec un .children, les dates s'affichent, alors qu'avec .currentmember il y avait "All" à la place

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    Est-ce que tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    WITH Member [MargeN_1] AS
    'sum(
    [Measures].[Marge]
    , ParallelPeriod([Temps].[annee - Mois - Date].[annee]
    , 1
    , [Temps].[Annee].currentmember.name )
    )'
     
    SELECT NON EMPTY
    {[Measures].[Marge], [Measures].[MargeN_1]} ON COLUMNS
    , NON EMPTY {[Article].[Nom Article].[Nom Article].children * [Temps].[annee].children} ON rows
     
    FROM [Basestat]
    ou ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    WITH Member [MargeN_1] AS
    'sum(
    [Measures].[Marge]
    , ParallelPeriod([Temps].[annee - Mois - Date].[annee]
    , 1
    , [Temps].[Annee].currentmember.value )
    )'
     
    SELECT NON EMPTY
    {[Measures].[Marge], [Measures].[MargeN_1]} ON COLUMNS
    , NON EMPTY {[Article].[Nom Article].[Nom Article].children * [Temps].[annee].children} ON rows
     
    FROM [Basestat]

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Avec la première et la seconde il me ressort les cases #Erreur et ce message d'erreur :
    VALUE #Erreur La fonction*PARALLELPERIOD attend une expression de hiérarchie pour l'argument*. Une expression de chaîne ou numérique a été utilisée.
    FORMATTED_VALUE #Erreur La fonction*PARALLELPERIOD attend une expression de hiérarchie pour l'argument*. Une expression de chaîne ou numérique a été utilisée.
    Je continue à fouiller

Discussions similaires

  1. RS/MDX Paramètre de Type Date
    Par dream_rachid dans le forum SSAS
    Réponses: 1
    Dernier message: 29/01/2009, 17h45
  2. [SSRS][2k5]MDX query : valeur all d un paramètre
    Par hiline6 dans le forum SSRS
    Réponses: 0
    Dernier message: 14/01/2009, 17h35
  3. [SIIS][2k5][MDX] formatage de date
    Par stolx_10 dans le forum SSAS
    Réponses: 0
    Dernier message: 05/09/2008, 11h09
  4. Réponses: 5
    Dernier message: 19/06/2008, 18h26
  5. [SSAS][2k5]MDX et Cumul annuel
    Par Jinroh77 dans le forum SSAS
    Réponses: 1
    Dernier message: 31/01/2008, 15h43

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