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 :

[2K8] Problème pour faire un ratio dans un rapport


Sujet :

SSRS

  1. #1
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut [2K8] Problème pour faire un ratio dans un rapport
    Bonjour à tous,

    je dois faire un rapport avec un bet' tableau tout simple qui affiche des évènements en lignes. certaines sont en statut 'En cours', d'autres en statut 'Soldé' et je veux afficher à la fin du rapport un ratio du nombre d'évènements en cours / nombre d'évènements Soldés.

    Faut il que je fasse un deuxième dataset dédié à cette fonction qui refairait le même select mais avec des count et un group by statut ou puis je le faire directement par une expression dans visual studio ? j'ai vu qu'il existe dans la partie agregate des expressions la fonction count mais je ne sais pas comment l'utiliser: il me faudrait un truc du style :
    = Count (Field!Status.Value = 0) / Count(Field!Status.Value = 1).

    Merci d'avance de vos suggestions.

  2. #2
    Membre confirmé Avatar de dream_rachid
    Homme Profil pro
    DBA & Responsable BI
    Inscrit en
    Mars 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : DBA & Responsable BI
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2006
    Messages : 278
    Points : 461
    Points
    461
    Par défaut
    il suffit que tu ajoutes une nouvelle ligne (en dessous ou en dessous de ton enregistrement actuel) et tu ajoutes tout simplement une colonne (dans cette nouvelle ligne ) là ou tu met ta fonction d'agrégation

  3. #3
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut
    ajouter une ligne et une colonne ok, mais quelle fonction dois je mettre ?
    (il faut faire un count des lignes avec status = 0 (en cours), un count des lignes avec status = 1 (soldé) puis une division de l'un par l'autre.
    Comment faire ?

  4. #4
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2010
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 240
    Points : 359
    Points
    359
    Par défaut
    Dans ton cas tu as une division , il faut auparavant vérifier si le count des "Soldé" est égal à 0 ou non.

    Mais globalement c'est une formule comme celle là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SUM(IIF(Fields!Status.Value = "En cours",1,0))/ SUM(IIF(Fields!Status.Value <> "En cours",1,0))

  5. #5
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut
    Ça fonctionne parfaitement. Un grand merci.

  6. #6
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2010
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 240
    Points : 359
    Points
    359
    Par défaut
    Pas de soucis, mais ce n'est pas la meilleure manière.
    Comme je l'ai dis plus haut, vérifies si tu as des valeurs nulles, pour ne pas diviser par zéro.

    Et puis en terme de performance, en fonction de ton volume de données je ne peux que te dire: toutes les opérations faites dans le SQL directement sont plus rapides que les fonctions dans SSRS.

    Voilà sujet mi-clos

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/06/2015, 21h48
  2. Réponses: 3
    Dernier message: 21/11/2011, 10h54
  3. Réponses: 13
    Dernier message: 17/03/2009, 19h18
  4. [VBA-E] Problème pour faire une boucle dans une userform
    Par Garlim dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2007, 23h10
  5. Réponses: 4
    Dernier message: 09/02/2006, 15h20

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