|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2011 Messages : 14 ![]() |
Bonjour ,
je crée des objets qui permettent de faire une requête du genre : SOCIÉTÉ , NO_COMMANDE , NOMBRE_DE_PRODUITS ce qui correspond à la création de deux objet (société et no_commande) plus l'indicateur avec la fonction cout() ce qui abouti à requête SQL suivante : SELECT CLIENTS.SOCIETE, COMMANDES.NO_COMMANDE, count(DETAILS_COMMANDES.REF_PRODUIT) FROM CLIENTS,COMMANDES, DETAILS_COMMANDES WHERE(DETAILS_COMMANDES.NO_COMMANDE=COMMANDES.NO_COMMANDE ) AND ( COMMANDES.CODE_CLIENT=CLIENTS.CODE_CLIENT ) GROUP BY CLIENTS.SOCIETE, COMMANDES.NO_COMMANDE jusque là tout va bien . garder seulement les commandes qui on un nombre de produits supérieur à la commande numéro X HAVING COUNT( REF_PRODUIT) >= ( SELECT COUNT( REF_PRODUIT) FROM COMMANDES NATURAL JOIN DETAILS_COMMANDES WHERE NO_COMMANDE = 10657); peut-on créer une conditions avec la clause HAVING . merci pour l'aide |
|
|
00
|
|
|
#2 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
Le plus simple à mon sens est de le gérer directement dans la requête sous BO. Pour obtenir ce que tu souhaites : Requête 1 : Objets du résultat : <Société>, <No_Commande>, <Nb_produits> Conditions : <Nb_produits> > Sous-requête 1.1 Sous-requête 1.1 : Objets du résultat : <Nb_produits> Conditions : <No_Commande> = 10657 Je précise pour d'éventuels autres lecteurs que cette méthode pour générer une clause HAVING ne peut fonctionner que si <Nb_produits> est défini dans le designer avec une fonction d'agrégation. (ici count())
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2011 Messages : 14 ![]() |
Bonjour ,
je sais pas si j'ai bien compris et à moins qu'il ai une notion de sous-requete que je ne connais pas encore dans le designer , voila ce que j'ai fais creation d'un objet <Nombre de commande> Dans le SELECT : count(DETAILS_COMMANDES.REF_PRODUIT) Création dans un autre objet <Sous-requête 1.1> Dans le SELECT : @Select(Indicateurs\Nombre de produits) Dans le Where : DETAILS_COMMANDES.NO_COMMANDE = 10657 Dans DESKI Dans la zone Objet du résultat : <SOCIETE> , <NO_COMMANDE> , <Nombre de commande> Dans la Zone Condition : Nombre de commande Supérieur à Sous-requête 1.1 si c'est bien ça que tu explique la requête ne ramène aucun résultat et la requête SQL généré est différente de ma requête initial |
|
|
00
|
|
|
#4 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Non, ce n'était pas du tout ça en fait...
Pour les objets dans le designer, il faut qu'ils soient définis de la façon suivante :
Ensuite, tout se passe dans le reporter. Il faut créer une requête correspondant à la "requête 1" de mon exemple et, dans les conditions, après avoir placé l'objet ainsi que "supérieur à", il faut sélectionner "créer une sous-requête". Les éléments de cette dernière doivent correspondre à la "sous-requête 1.1" de mon exemple.
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : février 2011 Messages : 14 ![]() |
Merci ,
je viens de découvrir les sous-requêtes et ta solution marche |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com