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 13/09/2007, 17h18   #1
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Par défaut Designer-Opérations sur les dates

Bonjour j'ai BO6.5, j'aimerais savoir est ce que c possible de faire un indicateur dans designer qui soustrait une date pour deux conditions différentes
Merci
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 17h30   #2
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
exemple STP ?
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 11h11   #3
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
En fait il s'agit d'un seul et même objet "date" que je voulais scinder en deux pour 2 conditions :
date1 pour l'activité 1
date 2 pour l'activité 2
Je veux savoir tout simplement le temps écoulé entre l'activité 1 et 2 ?
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 12h49   #4
Membre régulier
 
Inscription : juillet 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 87
Points : 85
Points : 85
Il nous faut savoir sur quelle règle tu te bases pour identifier Activité1 et Activité2.
Et puis dis-nous également quel SGBD tu utilises...
BzhCH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 12h59   #5
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
En fait je sais que c'est pas lié au SGBD (ORACLE 9i).

Et les activités c'est un deuxième objet , plus clairement:
Cas Date Activité
001 01/09/07 13:12:45 1
001 02/09/07 09:00:00 6
001 05/09/07 12:30:56 2
002
003
.
.
.
Je veux savoir le temps moyen en jours et en heures que passe chaque cas entre l'activité 1 et 2 ?
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 14h18   #6
Membre régulier
 
Inscription : juillet 2007
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 87
Points : 85
Points : 85
SI je comprends bien et si c'est toujours entre 1 et 2, la solution n'est pas dans Designer mais dans Reporter.
Tu pourrais faire une rupture par cas et dans le pied de rupture faire une formule du genre =JoursEntre(Max(Date) où (Activité=1),Max(Date) où (Activité=2))
et à la fin de ton tableau faire la moyenne de cette formule. Cela te donnera le nombre de jours moyen.

Je ne garantis pas la syntaxe exacte, je n'ai pas BO sous la main...
BzhCH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 14h34   #7
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Je te remercie beaucoup.

En fait j'avais essayé cette solution mais sans le "Max" et j'avais toujours une erreur.

Maintenant, le JoursEntre me donne l'écart en jour. Je veux l'écart en heures aussi.
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 10h07   #8
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Par défaut BO6-Ecart dates en jours et en heures??????

Je veux savoir si dans la version 6 de BO, il y a moyen d'obtenir un écart de date en heures????

Par exemple :
16/09/2007 21:00:00
17/09/2007 09:00:00
L'écart est de : 12 Heures (et non pas 1 jour)

Je ne vois pas de fonction prédéfinie pour cela (JoursEntre : écart en jours)
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2007, 14h38   #9
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Par défaut En utilisant DECODE

Pourquoi ça ne marche pas avec Decode.
J'ai fait dans designer un objet décrit comme suit :
decode(WF_ACTIVITY_LOG.ACTIVITY_ID,'ACT-477',to_date(WF_ACTIVITY_LOG.DATE_CREATED,'DD-MM-YYYY HH24 :MI:SS'),null)-decode(WF_ACTIVITY_LOG.ACTIVITY_ID,'ACT-244',to_date(WF_ACTIVITY_LOG.DATE_CREATED,'DD-MM-YYYY HH24 :MI:SS'),null)

L'analyse est réussi de cet objet. Mais dans Business Object il me donne erreur dans le SQL

Pourquoi?
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2007, 16h05   #10
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
Citation:
Envoyé par samovich Voir le message
Pourquoi ça ne marche pas avec Decode.
J'ai fait dans designer un objet décrit comme suit :
decode(WF_ACTIVITY_LOG.ACTIVITY_ID,'ACT-477',to_date(WF_ACTIVITY_LOG.DATE_CREATED,'DD-MM-YYYY HH24 :MI:SS'),null)-decode(WF_ACTIVITY_LOG.ACTIVITY_ID,'ACT-244',to_date(WF_ACTIVITY_LOG.DATE_CREATED,'DD-MM-YYYY HH24 :MI:SS'),null)

L'analyse est réussi de cet objet. Mais dans Business Object il me donne erreur dans le SQL

Pourquoi?
Comment WF_ACTIVITY_LOG.ACTIVITY_ID peut il être à la fois (pour un même enregistrement) égal à 'ACT-477' et égal à 'ACT-244' ???
Erreur de frappe dans le nommage de deux champs differents ou bien deux dates sur deux enregistrements différents identifiables par WF_ACTIVITY_LOG.ACTIVITY_ID ?
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2007, 16h11   #11
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Merci pour m'avoir répondu,

Il y a deux enregistrements: La date de création de l'activité ACT-477 et la date de création de l'activité ACT-244.
L'objet créé est une soustraction de ces deux dates mais je n'arrive pas à l'exécuter.
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 08h51   #12
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
C'est bien ce que je pensais 2 enregistrements et non pas 2 champs
Ne sachant pas à quel DonnéeID se rapportent ces dates je vais supposer qu'il sagit des dates de ID
Soit
une table A listant ces ID
et
une table B contenant au moins 2 champs :
ID et WF_ACTIVITY_LOG.ACTIVITY_ID
Tu pourrais créer deux jointures de A ver B1
C'est à dire de A vers B et de a vers B2 (Alias)
Pourquoi ?
Parce que A1 comportera une jointure restrictive WF_ACTIVITY_LOG.ACTIVITY_ID = 'ACT-244',
et A2 une jointure restrictive
WF_ACTIVITY_LOG.ACTIVITY_ID = 'ACT-244',
en reliant A.ID=B1.ID(+) ET A.ID=B2.ID(+)
Tu pourras créer ta formule.
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 14h49   #13
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Excuse moi, mais je n'ai pas très bien compris.

Comme on est arrivé là, j'aimerais t'expliquer mieux:
En fait j'ai toutes les données dans la même table WF_ACTIVITY_ID, Ok.
Cette table contient le champ ID, Date_Created, Activity_ID et d'autres champs.
Je veux calculer pour chaque ID, le temps écoulé entre l'activité ACT-477 et ACT-244

Je n'ai pas compris pourquoi, je dois faire des jointure pour pouvoir établir la formule?
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 19h53   #14
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
Comme les dates que tu veux calculer le temps écoulé entre l'activité ACT-477 et ACT-244 qui correspondent à deux enregistrements distincts !!! tu ne peux pas.
Donc tu garde dans ton univers ta table WF_ACTIVITY_ID puisqu'elle contient d'autres champs dont tu peux avoir besoin pour d'autres objets.
1) Dans le Menu Insertion tu choisis Tables Dérivées
2) Tu tapes le SQL suivant :
Code :
1
2
SELECT ID, Date_Created, Activity_ID 
WHERE Activity_ID = 'ACT-477 '
3) Tu nommes cette Table Dérivée ACT_477
4) Tu crées une jointure externe entre la table WF_ACTIVITY_ID et la table Dérivée ACT_477
Code :
WF_ACTIVITY_ID.ID = ACT_477.ID(+)
5) Dans le Menu Insertion tu choisis Tables Dérivées
6) Tu tapes le SQL suivant :
Code :
1
2
SELECT ID, Date_Created, Activity_ID 
WHERE Activity_ID = 'ACT-244'
7) Tu nommes cette Table Dérivée ACT-244
8) Tu crées une jointure externe entre la table WF_ACTIVITY_ID et la table Dérivée ACT_244
Code :
WF_ACTIVITY_ID.ID = ACT_244.ID(+)
9) Maintenant tu peux créer 3 objets
DateHeureACT-244 Select: ACT_244.Date_Created
DateHeureACT-477 Select: ACT_477.Date_Created
Durée Select: decode(ACT_477.Date_Created, NULL,NULL,decode(ACT_244.Date_Created,NULL,NULL, ACT_477 - ACT_244))

Tu devrais essayer et me dire ....
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 11h04   #15
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
J'ai essayé les tables dérivées mais j'ai des doublons.
Par exemple :
Pour ID j'ai 2 dates D1, D2 pour ACT-477 et 2 dates de création T1, T2 pour ACT-244. (Le parcours entre l'activité ACT-477 et ACT-244 a été effectué 2 fois : D1->T1 et D2->T2)
En suivant à la lettre ce que tu m'as recommandé j'ai :
ID D1 T1 (T1-D1) (Bon)
ID D1 T2 (T2-D1) (Non voulu)
ID D2 T1 (T1-D2) (Non voulu)
ID D2 T2 (T2-D2) (Bon)

Même avec les jointures restrictives j'ai le même problème.
samovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 12h25   #16
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
Ca tu ne nous l'avais pas dit que tu pouvait avoir deux dates D1 D2 pour un même ID

ID ne peut donc suffire comme identifiant UNIQUE !
il te faut donc trouver un champ de plus qui concaténé avec ID permettra une jointure sans doublons vers les deux tables dérivées (dans lesquelles tu dois également ajouter ce champ concaténé.
Exemple si tu as un champ Numéro sorte de numéro qui permet pour un ID de différencier les Activités.
Tu dois ajouter dans les tables dérivées
Code :
1
2
3
4
SELECT ID || to_char(Numéro,'0') AS MonID, ID, Date_Created, Activity_ID 
WHERE Activity_ID = 'ACT-477 '
SELECT SELECT ID || to_char(Numéro,'0') AS MonID, ID, Date_Created, Activity_ID 
WHERE Activity_ID = 'ACT-244'
Ce qui te permettra de modifier les jointures de la façon suivante
Code :
WF_ACTIVITY_ID.ID  || to_char(WF_ACTIVITY_ID.Numéro,'0')  = ACT_477.MonID(+)
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 10h46   #17
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 45
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 45
Points : 6
Points : 6
Je te remercie beaucoup BRUNO2R pour ton aide.

Mais, Est ce qu'il y a une solution plus simple que concaténer l'ID avec une chaine. Ca ne marche dans mon univers.
Dans la table en question où j'aimerais calculer cet écart, a comme ID comme PK et activity_ID comme FK. il y a aussi la date de création de l'activité qui permet de différencier les enregistrements.
Est ce que ça peut marcher avec des alias même si je crois que ça va être la même histoire(des doublons...)
samovich 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 05h34.


 
 
 
 
Partenaires

Hébergement Web