|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 17 ![]() |
Bonjour,
J'ai besoin de conseils concernant la problématique calendriers : 1) J'ai plusieurs tables contenant des champs date, est-ce que je dois passer par des alias de la table calendrier, pour mes liaison de date ou dois-je passer par la seule table calendrier créé (et créer des boucles) ? 2) J'ai une table(MYSQL) avec une DATETIME et un calendrier que j'avais créer comportant un champs en DATE. Impossible de faire une liaison externe avec une liaison complexe conversion de type DATE(table.datetime) = calendrier.date . J'ai créé une table dérivée de type SELECT *,date(table.datetime) as Date2 from table Et cela fonctionne avec la liaison externe, mais je me demandais si c'était vraiment la bonne chose à faire (avant de tout casser avec cette table dérivée comme référence). Voila j'espère avoir été clair merci pour votre aide (c'est pas évident BO) |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 17 ![]() |
|
|
|
00
|
|
|
#3 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Bonjour,
Peux tu expliquer un peu plus ton besoin ? Une boucle se résout de 2 façons : - Contexte - Alias Après, c'est à toi de voir la solution la moins couteuse et la plus appropriée. Concrètement pour les contextes, ca donnerait : 1 contexte : (Calendrier-deriv_followups) + (deriv_followups-table_sans_nom) 1 contexte : (Calendrier-table_sans_nom) + (table_sans_nom-deriv_followups) Si tu ne fais appel qu'aux objets de ces tables, cette solution n'est pas appropriée car il va te demander quel contexte choisir lors de l'exécution de la requête. Si tu as d'autres tables pour chaque contexte, elle devient intéressante. Pour les Alias, ca donnerait le schéma suivant : Code :
deriv_followups(alias) - table_sans_nom - Calendrier - deriv_followups - table_sans_nom (alias)
__________________
|
|
|
00
|
|
|
#4 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 168 ![]() |
Bonjour,
Dans l'exemple fourni par le schéma, il suffit de qualifier la jointure du haut (qui ne passe pas par calendrier) en Raccourci-Jointure. Si aucun objet basé sur Calendrier n'est choisi dans la requête elle sera automatiquement employée.
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#5 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Je suis d'accord et pas d'accord
![]() D'accord s'il s'agit d'une jointure sur une date, pas d'accord s'il s'agit d'une jointure sur un id (par exemple). Si on emploie la table calendar et qu'il existe un raccourci jointure, ce dernier ne sera pas du tout utilisé par BO, et on perdra la jointure sur l'id. Je pense que dans ce cas là, il est préférable de passer par un contexte ou alias. S'il s'agit d'une jointure date, alors je suis d'accord avec toi.
__________________
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 17 ![]() |
Bonjour,
En tout cas merci pour vos réponses qui m'amène à d'autre questions mais que je n'ai pas encore eu le temps de développé. Je reviens dès que possible |
|
|
00
|
|
|
#7 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 168 ![]() |
En regardant d'un peu plus près son schéma on voit que la table calendrier est assez pauvre (Date, Année, AnnéeMois, pas de Quadrimestre ou de Jours Fériés que BO ne saurait calculer).
Remarque 1 : Année, Mois, AnnéeMois peuvent très bien se calculer sur le champ Date dans la définition de l'objet. Pas besoin d'une table pour ça. Remarque 2 : si on veut ramener des infos (de Calendrier) relatives à chaque date du schéma, la solution est le recours aux alias de la table calendrier
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com