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

Cognos Discussion :

Comment Interpréter la fonction SQL SUM() dans REPORT STUDIO


Sujet :

Cognos

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 69
    Points
    69
    Par défaut Comment Interpréter la fonction SQL SUM() dans REPORT STUDIO
    Bonjour,

    Je travaille avec COGNOS 10.2.1 et je demande votre aide afin de savoir comment retranscrire une requête SQL dans Report Studio.
    En fait je dois calculer un Nbre de clients qui possèdent 1 auto, ceux qui possèdent entre 2 et 4 autos et ceux qui ont 5 autos ou plus.
    Sous forme SQL cela se présente comme suit:
    SELECT COUNT( DISTINCT ID_CLIENT_AUTO), SUM(F_NB_AUTO) => la requête me donne 2 200 Clients
    from F_TABLE_ACHATS_CLIENTS
    WHERE F_DEPT_LIEU IN (75,94)
    group by ID_CLIENT_AUTO
    HAVING SUM(F_NB_AUTO) = 1
    ;


    SELECT COUNT( DISTINCT F_ID_CLIENT_AUTO), SUM(F_NB_AUTO) => la requête me donne 139 Clients
    from F_TABLE_ACHATS_CLIENTS
    WHERE F_DEPT_LIEU IN (75,94)
    group by ID_CLIENT_AUTO
    HAVING SUM(F_NB_AUTO) IN (2,3,4)
    ;

    SELECT COUNT( DISTINCT F_ID_CLIENT_AUTO), SUM(F_NB_AUTO) => la requête me donne 68 Clients
    from F_TABLE_ACHATS_CLIENTS
    WHERE F_DEPT_LIEU IN (75,94)
    group by F_ID_CLIENT_AUTO
    HAVING SUM(F_NB_AUTO) >= 5
    ;
    Je dois retranscrire ces requêtes dans REPORT STUDIO pour afficher une ligne selon chaque cas:
    Je compte le nombre de clients, et :
    - je dois afficher ceux qui ont 1 voiture
    - ceux qui ont entre 2 et 4 voitures
    - ceux qui ont plus de 5 voitures

    J'ai donc mis en place le filtre suivant :
    (
    (TOTAL([F_NB_AUTO] ) = 1 )
    or
    (TOTAL([F_NB_AUTO] ) IN (2,3,4) )
    or
    (TOTAL( [F_NB_AUTO] ) >= 5 )
    )
    Et si je rencontre l'un ou l'autre des cas ci-dessus, je dois faire un COUNT de (F_ID_CLIENT_AUTO) et afficher le Nbre de Clients correspondants dans mon rapport :
    CASE
    WHEN Total( [F_NB_AUTO] ) = 1
    THEN
    ' 1 Auto'

    WHEN Total ( [F_NB_AUTO] ) IN (2,3,4)
    THEN
    ' 2, 3, 4 Autos'

    WHEN Total( [F_NB_AUTO] ) >= 5
    THEN
    ' Plus de 5 Autos'

    ELSE ' Inconnus'
    END
    Mais cela ne fonctionne pas et je ne sais pas non plus si je dois utiliser un "Count" ou un "Total" pour remplacer le SUM(F_NB_AUTO) de mon SQL

    Merci pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mars 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2013
    Messages : 82
    Points : 102
    Points
    102
    Par défaut
    Salut,

    tu peux intégrer directement du code SQL dans Report avec l'option "Code SQL" de ta boite à outils, avec dans les propriétés : Syntaxe SQL = Direct et Source de données = ta base de données.

    Sinon, si tu veux quand même passer par les packages Cognos :

    tu fais une donnée élémentaire avec :

    total ( F_NB_AUTO for ID_CLIENT_AUTO)

    Ce qui devrait te donner pour chaque ID_CLIENT_AUTO le nombre de total de F_NB_AUTO. Et après tu t'en sers dans tes filtres ou pour créer des catégories avec des case.

    ++

    Manu

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 69
    Points
    69
    Par défaut
    Résolu, merci !

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

Discussions similaires

  1. Fonction agrégat SUM dans calcul SQL
    Par othke dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 19/02/2010, 11h05
  2. Comment utiliser la fonction intégrée CMonnaie dans un module
    Par lynepicard dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/08/2007, 17h54
  3. Comment savoir la table SQL utilisée dans un code JAVA ou JSP
    Par soror dans le forum Persistance des données
    Réponses: 6
    Dernier message: 03/08/2007, 12h27
  4. comment utiliser une fonction sql en dotNet?
    Par bicho dans le forum Accès aux données
    Réponses: 6
    Dernier message: 19/03/2007, 12h44
  5. Comment executer une requete sql delete dans une jsp ?
    Par DarkWark dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/05/2006, 17h59

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