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 :

paramètre multivalué string et BLANK


Sujet :

SSRS

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Points : 22
    Points
    22
    Par défaut paramètre multivalué string et BLANK
    Bonjour,

    j'ai crée un rapport qui a entre autre un paramètre multi-valué de type texte (choix d'un produit). exemple: je veux les réceptions d'un stock dans une plage de dates. J'aimerais pouvoir ne pas cocher de valeur dans le menu-déroulant lors de l'invite : on aurait alors la totalité des enregistrements de la même manière qu'en faisant le select all. J'ai essayé la en cochant la case "Allow Blank" mais ça ne fonctionne pas. Cela viendrait-il de mon dataset?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select *
         FROM RECEPTION 
                   WHERE REC_CODEPROD IN (@codeprod) AND
                             REC_FOURNISSEUR IN (@fourn) AND 
                             REC_DATEHEUREDEB BETWEEN (@StartDateTime)
    AND (@EndDateTime) AND 
                              REC_DATEHEUREFIN  BETWEEN (@StartDateTime) AND  (@EndDateTime)
    en vous remerciant,

    Ed.

  2. #2
    Membre régulier
    Inscrit en
    Août 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2010
    Messages : 63
    Points : 80
    Points
    80
    Par défaut
    Je ne pense pas que ce soit possible de faire ce que tu souhaites.

    Le mieux est peut-être de définir les valeurs par défaut de ton paramètre sur le même DataSet que tes valeurs disponibles, ce qui reviendra à sélectionner toute la liste.

  3. #3
    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
    Alors tu peux tenter un truc.

    1) Modifie ta requête pour un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
         FROM RECEPTION 
                   WHERE (REC_CODEPROD IN (@codeprod) OR @codeprod=-1) AND
                             REC_FOURNISSEUR IN (@fourn) AND 
                             REC_DATEHEUREDEB BETWEEN (@StartDateTime)
    AND (@EndDateTime) AND 
                              REC_DATEHEUREFIN  BETWEEN (@StartDateTime) AND  (@EndDateTime)
    2) Dans ton DataSet de valeurs de paramètre pour codeprod, crée la requête un peu dans ce genre là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT CodeProd, NomProd FROM RECEPTIOn
    UNION ALL
    SELECT -1, 'Tous'
    Maintenant si tu sélectionne "Tous", le paramètre vaut -1 ce qui te renvoie tous les produits. CQFD.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    merci pour vos messages. Mais j'avoue que je ne comprends pas la requête pour le dataset de valeur de codeprod...
    j'ai quand même essayé mais codeprod est un nvarchar et j'ai alors un message d'erreur "conversion de type int".

    merci,

    Edouard.

  5. #5
    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
    Oui mais je ne connais pas ta base C'est à adapter forcément!!! L'idée est là: tu crées une valeur figée disponible correspondant à "tous", et tu modifies ta requête de rapport pour qu'elle fasse un filtrage si le filtre est positionné sur une vraie valeur, ou qu'elle t'affiche tout (pas de filtrage) si le paramètre est égal à ta valeur bidon "tous".
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    oui, j'ai changé entre temps et ajouté des ''.
    sauf que quand je sélectionne "tous" ou un seul produit ça fonctionne, mais quand je sélectionne deux ou plusieurs produits j'ai un message d'erreur.
    L'idée à la base était de ne rien sélectionner du tout et d'avoir alors l'ensemble des produits.

    merci,

  7. #7
    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
    Bah au lieu de OR @codeprod=-1 remplace par -1 IN (@codeprod) ou un truc du style ça irait pas?
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Effectivement ça marche mieux comme ça
    mais en fait, d'un point de vue technique, ça revient exactement au même que le "select all" qui existe déjà?
    si je persiste à ne rien sélectionner, BI me demande de sélectionner quelque-chose...

    merci,

  9. #9
    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
    Oui mais ce que tu veux faire correspond à un AllowNullValue sur un paramètre multivalué, ce qui n'est pas autorisé...
    Et comme tu n'avais pas précisé ta version de SSRS je pensais que tu étais en 2000 ou en 2005 SP1 ou l'option select all n'existe pas.


    EDIT: et pourquoi tu ne paramètres pas ton dataset avec tes default values égales à toutes les valeurs (même requête que les available values) dans ce cas là à l'invite tu atterirais sur toutes les valeurs?
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Re,

    en fait ce que tu m'as indiqué est ce que je cherchais à faire, donc merci! car dans le cas où l'on fait un select all, à l'affichage du rapport, dans l'entête "critère de filtre" tous les produits sont écrits, séparés par une virgule. si on a 300 produits...

    En te remerciant,

    Edouard.

  11. #11
    Membre régulier
    Inscrit en
    Août 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2010
    Messages : 63
    Points : 80
    Points
    80
    Par défaut
    En même temps c'est exactement ce que je te suggérais dans ma réponse.

  12. #12
    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
    Ca m'apprendra à lire les topics en entier
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/08/2012, 17h12
  2. Réponses: 6
    Dernier message: 24/11/2011, 14h14
  3. [2K8] Sous rapport : passage paramètre multivalue
    Par tonitoBI dans le forum SSRS
    Réponses: 3
    Dernier message: 30/07/2010, 13h17
  4. Filtrer les données en fonction d'un paramètre multivalué
    Par v1nce dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 18/01/2007, 10h10
  5. [SQL2005][RS]Récupération de paramétres multivalue
    Par Cape31 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/08/2006, 15h18

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