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

MS SQL Server Discussion :

[SQL Server 2005 - SSRS] Appliquer un filtre sur une seule cellule d'une matrice


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [SQL Server 2005 - SSRS] Appliquer un filtre sur une seule cellule d'une matrice
    Bonjour à tous,

    Ma question est peut être très bête mais je n'ai pas réussi à y apporter une solution.
    Je développe des rapports d'activités avec SSRS en MDX et je cherche à applique un filtre sur une seule cellule d'une matrice.

    Pour une produit donné, je souhaite avoir les quantités en stock pour les points de vente et les quantités en stock pour les dépots.
    Les points de vente et dépots sont tous les deux considérés comme "magasins" dans mon cube et j'ai en plus un attribut "dépot : vrai/faux" qui permet de les distinguer.

    Dans ma matrice, j'ai une colonne quantité en stock pdv (donc dépot=faux) et une colonne quantité en stock dépot (dépot=vrai).
    Je voudrais donc appliquer à chacune de ces colonnes un filtre sur l'attribut dépot (et non pas sur l'ensemble de la matrice ou sur un groupe).

    Si quelqu'un a une idée, je lui en serais très reconnaissant. Je ne sais pas si j'ai été assez claire.

    Merci beaucoup d'avance.

  2. #2
    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
    Je suis pas sur d'avoir bien compris mais avec une condition dans la cellule, ca pourrait pas se faire ?
    Avec un exemple, ce serait peut etre plus clair.

  3. #3
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Reskibil Voir le message
    Je suis pas sur d'avoir bien compris mais avec une condition dans la cellule, ca pourrait pas se faire ?
    Avec un exemple, ce serait peut etre plus clair.
    Merci de ta réponse.

    Par "condition dans la cellule", tu sous-entends d'utiliser le iif dans l'expression de ma cellule ? Ca ne me donne pas ce que je souhaite.

    Disons que j'ai le produit "chaussures de ville". Ce produit est présent dans 5 établissements (indiqués comme magasins dans mon cube).
    4 établissements sont des points de vente et 1 est un dépot.
    La distinction entre les dépots et les points de vente est spécifié par un attribut "dépot = Vrai/faux" associé aux établissements.

    Dans mon rapport, sur la ligne du produit, je souhaite avoir une colonne avec la quantité en stock des 4 points de vente et une autre colonne avec la quantité en stock du dépot.

    Si j'utilise le iif (disons pour la colonne quantité en stock dépot), l'expression que je mettrais ressemblerait à ça :
    Iif(Fields!dépot.Value="True", Fields!Quantite_stock.value, "Autre_valeur")
    Et c'est bien cet "Autre_valeur" qui me pose problème.
    Avec cette façon de faire, il me sort un résultat quand ma condition est fausse alors que je souhaiterais qu'il ne me sorte rien.
    Je voudrais lui dire l'équivalent de "where Fields!dépot.Value="True"" pour qu'il ne me ressorte que les valeurs dépot.
    L'équivalent du filtre qu'on peut appliquer à une matrice entière dans l'onglet "filtre".

    J'espère que je suis un peu plus claire. Merci d'avance!

  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
    Oui effectivement ca marchera pas avec la condition. Et tu ne peux pas le précalculer dans une vue avant ?
    Dans la vue,pour chaque ligne (du grain le plus fin de ta table), tu ajoute 2 colonnes, une pour la quantité depot = vrai et l'autre pour depot = faux et dans ta matrice, tu n'a plus qu'a afficher ce que tu souhaites avec des sommes de ces colonnes.

  5. #5
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oh, bien sûr !!!
    Tu as parfaitement raison, c'est la façon la plus simple de faire.
    J'aurais dû y penser...

    J'ai créé deux membres calculés "Quantite Stock Depot" et "Quantite Stock Pdv" et je peux les intégrer dans ma matrice.

    Merci beaucoup !

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

Discussions similaires

  1. [SQL Server 2005 - SSRS] - Sous Rapport dynamique
    Par sandF dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/01/2008, 17h39
  2. Doc sur SQL Server 2005
    Par LeNeutrino dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/11/2006, 19h03
  3. [SQL Server 2005] Recherche sur colonne "Image"
    Par frechy dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/09/2006, 18h35
  4. [Installation]SQL Server 2005 Express Edition sur XP home
    Par Médiat dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 06/08/2005, 18h22

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