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:
Je dois retranscrire ces requêtes dans REPORT STUDIO pour afficher une ligne selon chaque cas: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 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 :
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 :(
(TOTAL([F_NB_AUTO] ) = 1 )
or
(TOTAL([F_NB_AUTO] ) IN (2,3,4) )
or
(TOTAL( [F_NB_AUTO] ) >= 5 )
)
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 SQLCASE
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
Merci pour votre aide
Partager