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

Designer Discussion :

[Designer 5.0] Définir dimensions sur lignes avec MIN et MAX


Sujet :

Designer

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 254
    Points : 80
    Points
    80
    Par défaut [Designer 5.0] Définir dimensions sur lignes avec MIN et MAX
    Bonjour
    Contexte:
    Base Oracle +
    Un Univers existant avec entre autre une jointure entre table T_parent et T_enfant (via une colonne primary key de la table parent). L'univers contient une série de dimensions permettant d'afficher le contenu de ces 2 tables. Les enregistrements de la table T_enfant sont numérotés (colonne NUM_ORDRE). Une série de numéros existe pour chaque valeur de PK de la table parent.

    Mon besoin:
    Je dois modifier l'Univers pour afficher les attributs de deux tables, avec pour chaque ligne "parent" seulement les 2 lignes enfants contenant le minimum et maximum de numéro d'ordre.

    Mes résultats:
    J'arrive à le faire si je n'affiche que les informations de la table mère et min et max de la colonne NUM_ORDRE de la table enfant.
    Par contre dès que j'intègre dans un rapport un champ supplémentaire de la table enfant, tout le contenu de cette table est affiché, car min et max sont évalués alors au niveau enregistrement enfant et non plus au niveau de l'identifiant T_parent.PK dans la table enfant:

    Ce que je voudrais faire c'est de paramétrer l'Univers pour arriver via BO à générer un rapport avec un sql équivalent de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Select * 
      from T_parent p, T_enfant e
     Where p.PK=e.PK   /* condition de jointure classique */
       and (e.num_ordre = (select min(e2.num_ordre) from T_enfant e2 where e2.PK = p.PK)
            OR
            e.num_ordre = (select max(e2.num_ordre) from T_enfant e2 where e2.PK = p.PK)      
            )
    Quelle astuce de Designor permet de le faire ?
    Merci d'avance

    msomso

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonjour msomso,
    Tout d'abbord BRAVO pour l'exposé de ton besoin (avec précision de ta version). Jamais vu un énoncé aussi clair et structuré !


    Alors, une chose est certaine : C'est pas de chance que tu sois en version 5 car en V6 tu aurais la possibilité de créer une table dérivée avec ton SQL (comme on crée une vue oracle)

    Pour ce qui est de ta version 5 :
    Il ne me semble pas possible d'intégrer un GROUP BY dans le SQL d'un objet.
    La solution est
    soit en amont créer une vue oracle dans la base
    soit en aval l'utilisateur pouvant utiliser une sous requête

    Mais peut-être suis-je en hypoglycémie ...
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 254
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    En ce qui concerne la modification de base (création de la vue), j'y ai pensé, mais j'aimerais l'éviter.
    Il est quand même rassurant de savoir que je suis à priori, confrontée à une vraie limitation BO et non à mon incompétence

    Merci de votre intérêt

    msomso

Discussions similaires

  1. Requete avec MIN() et MAX()
    Par lepotier dans le forum Requêtes
    Réponses: 3
    Dernier message: 27/05/2009, 23h44
  2. update sur ligne avec doublon
    Par nicerico dans le forum Requêtes
    Réponses: 9
    Dernier message: 08/11/2008, 17h13
  3. [BO 6.5.1] pb de requete avec min et max
    Par aurelie83 dans le forum Designer
    Réponses: 3
    Dernier message: 07/02/2008, 18h52
  4. Cherche la ligne avec le pivot max (absolue)
    Par Sevrynn dans le forum MATLAB
    Réponses: 5
    Dernier message: 05/03/2007, 15h41
  5. récupération d'une ligne avec un select MAX(champ1)
    Par rdams dans le forum Requêtes
    Réponses: 8
    Dernier message: 03/07/2006, 10h33

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