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 :

[SSRS][2k5] récupération de paramètre


Sujet :

SSRS

  1. #1
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut [SSRS][2k5] récupération de paramètre
    Bonjour,

    Je souhaite récupérer un paramètre avec une requête MDX mais je n'y arrive pas du tout.
    J'ai un message me disant : "La fonction attend une expression d'ensemble de tuples pour l'argument 1.Une expression de chaîne ou numérique a été utilisée."

    Voici le code, et la zone rouge est le paramètre faisant défaut.
    Pour le reste cela fonctionne, ça a été testé !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ="SELECT 
    NON EMPTY { [Measures].[Debit Euro], [Measures].[Credit Euro] } ON COLUMNS, 
    NON EMPTY { ([Segments].[Compte].[Compte].ALLMEMBERS * [Temps Periode].[Date].[Date].ALLMEMBERS * [Ecritures].[No Ecriture].[No Ecriture].ALLMEMBERS * [Ecritures].[Description].[Description].ALLMEMBERS * [Batchs FMS].[Batchs FMS].[Batchs FMS].ALLMEMBERS * [Ecritures].[Catégorie Ecriture].[Catégorie Ecriture].ALLMEMBERS * [Devises].[Devise].[Devise].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, 
    MEMBER_UNIQUE_NAME ON ROWS 
    FROM 
           ( SELECT ( STRTOSET(""{" + Join(Parameters!ChoixTypes.Value,",") + "}"", CONSTRAINED)  ) ON COLUMNS 
              FROM
                    ( SELECT { [Temps Periode].[Date].[Date].Item(DateDiff(""d"", [Temps Periode].[Date].[Date].Item(0).MemberValue, CDate("""+Format(Parameters!FromTempsProductionDate.Value,"MM/dd/yyyy")+"""))): [Temps Periode].[Date].[Date].Item(DateDiff(""d"", [Temps Periode].[Date].[Date].Item(0).MemberValue, CDate("""+Format(Parameters!ToTempsProductionDate.Value,"MM/dd/yyyy") + """))) } ON COLUMNS
                      FROM
                        ( SELECT {" + Parameters!ChoixBureau.Value + "}  ON COLUMNS                           FROM [FMS]))) 
    CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS"
    je joins également en pièce jointe une image montrant le paramètre à l'affichage, et les données du rapport pour ce paramètre.



    Je vous remercie d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 269
    Points : 339
    Points
    339
    Par défaut
    Il me semble que tu as oublié d'utiliser la fonction "strtomember" ou "strtoset" dans l'utilisation de ton paramètre...

  3. #3
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    avec StrToSet et StrToMember, ça ne fonctionne pas. Avec ou sans l'option CONTRAINED, cela me fait le même message : "La fonction attend une expression d'ensemble de tuples pour l'argument 1.Une expression de chaîne ou numérique a été utilisée."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      ( SELECT( STRTOSTR({" + Join(Parameters!ChoixTypes.Value,",") + "}, CONSTRAINED))  ON COLUMNS 
     
      ( SELECT( STRTOSTR({" + Join(Parameters!ChoixTypes.Value,",") + "}))  ON COLUMNS 
     
      ( SELECT( STRTOMEMBER({" + Join(Parameters!ChoixTypes.Value,",") + "}, CONSTRAINED))  ON COLUMNS 
     
      ( SELECT( STRTOMEMBER({" + Join(Parameters!ChoixTypes.Value,",") + "}))  ON COLUMNS

  4. #4
    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
    Le plus simple ce sera que tu affiches dans ton rapport la valeur de ton parametre pour t'assurer que c'est bien ce que tu attends. Ensuite, le MDX est parfois assez tetu quand il attends des {}.

  5. #5
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Lorsque je mets la donnée en dur dans la requête ça se passe bien. Et sous vos conseils, j'affiche ce que j'ai en paramètre sur mon rapport.
    Je récupère bien la valeure recherchée, mais lorsque je veux mettre le paramètre dans ma requête comme demandé ci-dessus, j'ai le message d'erreur.

    J'ai un autre paramètre me permettant de faire une sélection multiple, j'arrive à la faire fonctionner correctement.
    Au départ j'ai repris les mêmes caractéristiques pour celui que j'essaie de faire fonctionner, mais rien y fait.
    Par la suite, j'ai essayé de changer (voir 1er post) et toujours rien !
    Je l'ai mis en sélection multiple, integer ou string, avec ou sans valeur par défaut,etc....

    Bref, là je ne vois pas...

    Normalement, je dois retrouver une listebox avec pour valeurs ( 100 , 106 , 200 .... ). Je l'ai ! Quand j'affiche la valeur du paramètre cela me retourne 100, ce que je veux par défaut. Donc vraiment je sèche



    Edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ( SELECT ( STRTOSET(""{" + Join(Parameters!ChoixBureau.Value,",") + "}"", CONSTRAINED)  )  ON COLUMNS
    "Les restrictions imposées par l'indicateur CONSTRAINED dans la fonction STRTOSET n'ont pas été respectées. "

    Alors que lui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ( SELECT ( STRTOSET(""{" + Join(Parameters!ChoixTypes.Value,",") + "}"", CONSTRAINED)  )  ON COLUMNS

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 269
    Points : 339
    Points
    339
    Par défaut
    Je pense qu'il y a un problème avec la manière dont tu utilise la valeur de ton paramètre.

    Dans tous les cas, to query mdx (après avoir interprété ton paramètre) doit avoir une expression de tuple ou de set avant le "on columns".

    Hors si ta valeur est "100", pour ta query, cela ne veut rien dire.

    Tu devrais plutôt obtenir une chaine du type "[Dimension].[Hierarchie].&[100]".

    Tu n'aurais pas fait une erreur dans la configuration de ton paramètre au niveau du "champ de valeur" de ton dataset "ChoixBureau"?

  7. #7
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Tu devrais plutôt obtenir une chaine du type "[Dimension].[Hierarchie].&[100]".
    C'est ce que j'appelle "en dur" dans ma requête. Cela passe très bien. Le filtre fonctionne correctement.

    Par contre, je souhaite mettre cette donnée en paramètre pour que l'utilisateur puisse choisir sa valeur, avec par défaut "100", mais possibilité de choisir autre que 100 ou choisir un autre bureau avec 100.

    C'est pour cela que je passe dans ma requête MDX cet écrit parameters!ChoixBureau.value , mais apparemment la fonction, que ce soit n'importe quelle méthode utilisée, me renvoit une erreur.
    J'ai essayé toutes les configurations possibles, mais je me demande si il faut impérativement utiliser STRTOSET ou STRTOMEMBER.

    N'y a t'il pas une autre fonction ?

    (en même temps je débute dans la création de rapports)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 269
    Points : 339
    Points
    339
    Par défaut
    Si, en dur, tu mets un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Dimension].[Hierarchie].&[100]
    alors pour utiliser ton paramètre, tu dois mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strtomember("[Dimension].[Hierarchie].&[" + Parameters!ChoixBureau.Value  + "]")

  9. #9
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    c'est ce que je suis en train de voir en ce moment :p

    Je reviens si c'est bon.

  10. #10
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ( SELECT  ( { STRTOSET ([Segments].[Bureau].&[" + Parameters!ChoixTypes.Value +"] )}) ON COLUMNS FROM [FMS])
    Erreur lors du traitement de l'expression CommandText pour le dataset "nom_de_mon_dataset"

    avec ou sans {} ça ne passe pas !

  11. #11
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    essaye ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT ( STRTOSET ( '{" & Join(parameters!ChoixTypes.Value ,",") & "}', CONSTRAINED) ) ON COLUMNS FROM [FMS])

  12. #12
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    J'ai trouvé, c'était encore plus simple :

    ( SELECT [Segments].[Bureau].&["+ Join(Parameters!ChoixBureau.Value,",")+"] ON COLUMNS FROM [FMS])

    En gros les fonctions SETTO... ne servent à rien

  13. #13
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Citation Envoyé par geof Voir le message
    essaye ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT ( STRTOSET ( '{" & Join(parameters!ChoixTypes.Value ,",") & "}', CONSTRAINED) ) ON COLUMNS FROM [FMS])
    La tienne marche aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/05/2008, 10h40
  2. Réponses: 1
    Dernier message: 07/05/2008, 11h42
  3. Réponses: 9
    Dernier message: 21/04/2008, 08h29
  4. [SSRS][2k5]Paramètre "Select All"
    Par sandF dans le forum SSRS
    Réponses: 6
    Dernier message: 11/02/2008, 14h10
  5. Réponses: 4
    Dernier message: 04/02/2008, 16h35

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