Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2007, 10h10   #1
Invité régulier
 
Inscription : août 2006
Messages : 21
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : août 2006
Messages : 21
Points : 5
Points : 5
Par défaut [Designer XI] Table selon invite

Bonjour,

Contexte:
Je travaille avec 2 tables T1 te T1_jour.
Tous les soirs, les données de T1_jour sont chargées dans T1.
Le designer aura besoin des champs communs aux 2 tables.
Une invite permet à l'utilisateur de choisir une date.

Solution actuelle:
J'ai créé une table dérivée T=(T1 UNION ALL T1_jour)
L'invite est inclue dans le SQL de création de cette table

Question:
Est il possible de faire, sous designer, qqch qui reviendrait à ça:
si ('date saisie'<sysdate) alors T = T1 sinon T = T1_jour

j'ai essayé d'être le plus clair possible, j'espère l'avoir été

et pliz, dites moi qu'il est possible d'éviter cet UNION ALL
Adelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 10h28   #2
Membre du Club
 
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 52
Points : 52
Je pense que tu peux eviter ton union all en utilisant les contextes.
C'est une solution mais elle demandera un minimum d'action de la part des utilisateur.

En faisant deux contextes, 'date saisie<sysdate' et un autre 'date saisie>sysdate', l'utilisateur se vera demander quel contexte il veut utiliser et tu pourra le rediriger verts la table voulu.

Ps: ce n'est peut etre pas la seule solution...a creuser.
dermenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 10h39   #3
Invité régulier
 
Inscription : août 2006
Messages : 21
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : août 2006
Messages : 21
Points : 5
Points : 5
je n'avais pas du tout pensé aux contextes !
je vais essayer ça dès que possible voir ce que ça peut donner

merci
Adelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 13h38   #4
Invité régulier
 
Inscription : août 2006
Messages : 21
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : août 2006
Messages : 21
Points : 5
Points : 5
hummm

non je pense que ça va pas le faire
parcequ'il va devoir faire sa requête avant de choisir le contexte non ?
et dans ce cas choisir deja l'une des 2 tables, or il faudrait que pour eux ce soit transparent...

et là ça devient prise de tête

en fait ce que j'aimerais faire c'est une table dérivée dynamique en fonction de l'invite saisie... cette table serait la "vue" de l'une ou l'autre de la table.
Adelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 14h06   #5
Membre du Club
 
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 52
Points : 52
Si tu ne veux pas utiliser les contextes ( je pense pourtant que tu aurais pu t'en sortir en combinant la navigation aggrege et la fonction aggregate_aware mais c vrai que c pas forcement evident) tu as peut etre l'option (si tu utilise oracle) d'utiliser une procedure stocké en tant que fournisseur de donnée

Tu aurais dans cette procedure un test entre la date de saisie et la date du jour et selon leur position relative tu executerai l'une ou l'autre requete.
dermenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 14h26   #6
Invité régulier
 
Inscription : août 2006
Messages : 21
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : août 2006
Messages : 21
Points : 5
Points : 5
J'avoue je suis un peu néophyte sur Designer et tout ce qui est "navigation aggregee" et "@aggregate_aware" ne m'est pas intuitif

Je vais donc essayer (faut bien apprendre ) pendant que mon gentil administrateur s'occupe de ma proc (j'étais partie la dessus) et dans le meilleur des cas je pourrai comparer ces solutions.
Adelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h13   #7
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Je ne connais rien de mieux qu'un bon decode(champs,val1,alors,sinon)

Je vous entends dire il est fou !
L'invite peut retourner n'importe quelle date !

Certes !
Mais,
si la différence entre l'invite et sysdate peut également prendre x valeurs différentes,
le signe de cette différence lui n'a que 3 valeurs possibles donc
Code :
1
2
3
4
5
6
7
8
9
select decode (sign((to_date('20071006','yyyymmdd') - sysdate)),-1,'T','T1_jour') from dual
retourne T
 
select decode (sign((to_date('20071108','yyyymmdd') - sysdate)),-1,'T','T1_jour') from dual
retourne T1_jour
 
select decode (sign((to_date('20071112','yyyymmdd') - sysdate)),-1,'T','T1_jour') from dual
retourne T1_jour
Ce qui fait que le sql de l'objet devient :
Code :
decode(sign("datesaisie" - sysdate),-1, T.nomduchamp,T1_jour.nomduchamp)
J'ai pas trop compris où était ta 'date saisie' mais je te fais confiance...
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h21   #8
Invité régulier
 
Inscription : août 2006
Messages : 21
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : août 2006
Messages : 21
Points : 5
Points : 5
En fait j'avais déjà ouvert une discussion spécifique à cette invite :
http://www.developpez.net/forums/sho...d.php?t=435077

En fait j'avais un peu simplifiée le pb, me disant que j'allais ensuite réussir à arranger la solution au cas qui me concerne: cad que je saisie une date debut et une date de fin

autrement dit mon test est en fait date between date_deb and date_fin

et histoire de bien m'amuser, mes utilisateurs peuvent faire une date_deb de T1 et une date_fin de T1_jour et dans ce cas je dois faire un UNION entre les tables...
Adelys est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h40.


 
 
 
 
Partenaires

Hébergement Web