|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 226 ![]() |
Bonjour,
J'aimerais créé un objet dans le designer qui me donne les 5 semaines précédentes (par rapport à un numéro de semaine que l'utilisateur entre comme invite). Ex: L'utilisateur répond à l'invite "N° semaine"= 37 et avec l'objet "5 semaines precedentes", j'affiche 36,35,34,33,32. Vous avez une idée? (A voir après comment je peux le mettre en place à cheval sur 2 années...) PS: j'ai oublié de préciser que j'etais sous BO 5 (et oui!) |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 226 ![]() |
J'ai résolu une partie de mon Pb en faisaint une condition :
BUDE.TB_CALENDRIER.I_NO_SEM between @Prompt('Semaine?','N',,BUDE.TB_CALENDRIER.I_NO_SEM,mono,free)-4 and (@Prompt('Semaine?','N',,BUDE.TB_CALENDRIER.I_NO_SEM,mono,free) ) PAr contre je ne sais pas comment je peux jongler sur 2 années... |
|
|
00
|
|
|
#3 | ||||||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 185 ![]() |
Bonjour,
On va peut être essayer de faire plus simple : Dans Designer : Créer un filtre Nom : 5 semaines précédantes Clause Where : Code :
Nom : x semaines en arrière Code :
Etape 1 Calculer la date du 1er jour de l'annéee en cours Etape 2 Calculer le dernier jour de la semaine choisie par l'utilisateur 1er jour de l'année + (N° de semaine x 7 jours) Code :
trunc(sysdate,'year')+@Prompt('Numéro de semaine','N',,mono,free) *7) Code :
__________________
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
|
|
|
#4 | |
|
Membre actif
![]() Inscription : juillet 2008 Messages : 181 ![]() |
Citation:
Petit problème que me pose cette solution, si le premier jour de l'année est un mercredi par exemple, on va trouver comme borne supérieure un mercredi et non pas le dimanche de la semaine n° xx. La semaine sera donc incomplète. Mon idée serait donc de trouver dans un premier temps le dernier jour de la semaine sélectionnée (le dimanche) pour avoir la borne sup et ensuite enlever (5*7+1) jours pour avoir la borne inf (le "+1" c'est pour partir du lundi) Pistes à peut-être étudier: - utiliser des fonctions qui nous donne le dernier jour de la semaine sélectionnée. Comme ça, ça ne me vient pas ... En plus je me demande si on va pas avoir besoin de l'année car la semaine 14 de 2007, ça doit pas être la même que la semaine 14 de 2008! - utiliser une table de temps |
|
|
|
00
|
|
|
#5 | |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 185 ![]() |
Citation:
Il faut que steinia nous dise si où il fait commencer la première semaine de 2008 (sachant que BO n'est pas fiable la dessu, je lui conseille plutôt de se référer à un calendrier) En fonction de sa réponse, on substituera à la date du premier jour de l'année la date du premier jour de la première semaine. On t'écoute.
__________________
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
|
|
|
#6 |
|
Membre actif
![]() Inscription : juillet 2008 Messages : 181 ![]() |
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 226 ![]() |
Merci pour vos reponses, ca me donne des pistes.
Oui il faut que je commence sur une semaine entiere : du lundi au dimanche. |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 226 ![]() |
J'aurais juste un pb si je fais ce filtre.
Car ds la requete BO, je vais par ex mettre Semaine 29 de l'année 2008 (car j'ai plusieurs années d'historique). Ce qui donne un filtre : Annee=2008 et semaine=29 => la ca fonctionne. Mais si je mets Annee=2008 et semaine=1 => La je n'aurais que la premiere semaine 2008 et non pas les 4 dernières semaine de 2007... |
|
|
00
|
|
|
#9 | |||||||||||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 185 ![]() |
Citation:
Je l'ai testé avec semaine = 2 et nombre de semaines = 5 J'ai pris le parti de considérer que la semaine se choisissait sur l'année de la date system. On peut tout à fait concevoir d'ajouter une invite pour l'année On aurait ainsi trois invites :
1er jour de l'année + (7 - jour de semaine du 31/12/N-1) Code :
on obtiendra la date du dernier jour de la semaine voulue comme borne 2 Allez résumons ...1ère condition : Code :
Code :
1ère condition : Code :
Code :
![]() Précision importante : La complexité de cette solution est imposée par la Version 5 . Dans les versions suivantes il faut utiliser une Table dérivée qui produise les dates à retenir et la joindre par une jointure simple à la table de faits.
__________________
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
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 226 ![]() |
bon bah je n'arrive pas a obtenir le bon résultat parce que du coup, si je demande la semaine 29, j'obtiens les semaines : 26,27,28,29,30,31.
alors que j'aimerais impérativement que ça s'arrête à la semaine 29 (complète) et je veux les semaines précédentes c'est à dire : 25,26,27,28,29 en tout. En fait, c'est la 1ere semaine ds ce cas là qui gène...car elle les décale. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com