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

Deski Discussion :

choisir une requête en fonction d'une variable d'un prompt


Sujet :

Deski

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut choisir une requête en fonction d'une variable d'un prompt
    Nouvelle discussion,

    J'aimerais savoir s'il est possible suivant une valeur d'une variable d'un prompt (variable qui n'est pas un objet de la Base de données) permettre la selection d'une requête particulière pour un rapport??

    ex: prompt qui propose billing ou traffic

    Si je choisis traffic j'aimerais une requete sql avec une date de traffic
    Si je choisis billing j'aimerais choisir une requête avec une date de facturation

    nb: ces dates ne sont pas en dur mais choisi par l'utilisateur -> cela veut dire 2 requetes avec une invite

    merci pour votre aide

  2. #2
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    il faudrait plutot utiliser des contextes je pense....mais sinon

    tu peux faire 2 requetes...2 onglets avec la meme structure mais alimentés chacun par une requete....

    ainsi quand tu rafraichis..tu as les 2 options...tu peux meme ne rafraichir qu'une des 2 requetes en utilisant l'éditeur de requete....

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    il faut que je vois avec le client, mais je pense que ce n'est pas leur choix d'avoir en double les rapports.

    Est ce vraiment la seule solution???

    Ce matin on avait proposé de faire 2 rapports, un rapport billin et un rapport traffic mais ils n'en veulent pas.

    Je pense que ta solution avec onglet reviens à ce même principe non???

  4. #4
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    Avec la solution onglet, il n'y a q'un fichier, et qu'une seule action de rafraichissement...

    en gros c'est comme un rapport classique sauf que tu dois switcher entre les onglet selon ce que tu veux regarder/imprimer.

    Il faut peut etre dire à tes utilisateurs, que BO n'est pas un outil spécifique...et que c'est à l'utilisateur de définir ces besoins en fonction des possibilités de BO et pas l'inverse...

    Il y a peut etre une solution à ton problème en utilsiant un script VBA, mais ça risque d'être assez complexe.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    je ne connais pas vba en plus

  6. #6
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    Content de n'être pas le seul à me poser cette question ! Je l'avais déjà posée (sans succés d'ailleurs) il y a quelques jours.

    http://www.developpez.net/forums/sho...d.php?t=339198

    Depuis j'ai avancé sur le sujet et je crois que j'ai trouvé une solution (il faut encore réaliser quelques tests pour la valider complètement).

    J'ai procédé de la façon suivante :

    1) J'ai créé 2 univers identiques (mêmes objets) mais l'objet date pointe sur la date de livraison dans l'un et sur la date de facturation dans l'autre.

    2) Je change l'univers avant de rafraîchir (onglet Définition du gestionnaire de données)

    Actuellement j'essaie d'aller plus loin et de changer automatiquement l'univers à partir d'une invite en utilisant VBA et la méthode ChangeUniverse.

    Cordialement

    Sergio

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Points : 128
    Points
    128
    Par défaut
    Salut

    Tes objets sont-ils dans le même univers ?
    Ton objet <traffic> et <biling> sontils du même format ?

    Si oui, tu peux faire cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Période Souhaitée avec 2 paramètres :
    1. Type souhaité BILLING ou TRAFFIC
    2. Choix de la valeur
     
    (
    'T' = Substr( @Prompt('1.Type souhaité Billing/Traffic','A',{'B pour Billing', 'T pour Traffic'},MONO,FREE), 1, 1) 
    AND TRAFFIC.traffic = @Prompt('2.Valeur de BILLING ou TRAFFIC','A',,MONO,FREE) 
    )
    OR
    (
    'B' = Substr( @Prompt('1.Type souhaité Billing/Traffic','A',{'B pour Billing', 'T pour Traffic'},MONO,FREE), 1, 1) 
    AND BILLING.billing = @Prompt('2.Valeur de BILLING ou TRAFFIC','A',,MONO,FREE) 
    )
    Comme tu le remarqueras, les valeurs de TRAFFIC ou BILLING ne sont pas récupérés pour être listés dans ton prompt!!!
    Les chiffres en début d'invite permettent d'ordonner correctement les invites.

    A toi maintenant de suivre dans cette voie...


    Frédéric

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    La difference c'est que moi billing et traffic ce n'est pas des objets de mon univers.

    Simplement des variables annexes, qui m'aurait permis de choisir l'un ou l'autre.

  9. #9
    Membre du Club
    Femme Profil pro
    Consultant technique Sage ERP X3
    Inscrit en
    Novembre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant technique Sage ERP X3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 33
    Points : 43
    Points
    43
    Par défaut
    Bjr

    je suppose que tes 2 requêtes comportent un certain nombre de dimensions fusionnées (infos communes) ?

    ma solution serait de:

    1) ajouter une condition sur la (les) requête(s)
    dans laquelle tu mets 2 fois le même prompt, juste pour avoir la réponse de l'utilisateur
    @Prompt('(B)illing ou (T)raffic ?',{'B','T'},,MONO,FREE)
    =@Prompt('(B)illing ou (T)raffic ?',{'B','T'},,MONO,FREE)

    2) dans le rapport
    - affecter une variable [Choix]=ReponseUtilisateur('(B)illing ou (T)raffic ?')
    - soumettre à condition les cellules qui sont différentes d'un rapport à l'autre:
    Si ([Choix]='B'; [ReqB].[ChampB] ; [ReqT].[ChampT] )

    @+

Discussions similaires

  1. [AC-97] Calculs dans une requête en fonction d'une variable d'un formulaire
    Par Cire37 dans le forum VBA Access
    Réponses: 3
    Dernier message: 11/06/2010, 09h39
  2. passer d'une requêtes SGL directe en une requête normale
    Par jenniferIUP dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 04/02/2009, 08h26
  3. Réponses: 19
    Dernier message: 03/02/2009, 10h52
  4. Réponses: 7
    Dernier message: 17/11/2008, 11h57
  5. [Oracle 10G] Filtrer une requête en fonction d'une autre table
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 4
    Dernier message: 27/04/2008, 04h49

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