|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : décembre 2004 Messages : 113 ![]() |
Bonjour,
Je travaille avec BO XI R2. Je crée un univers et je développe un rapport sous WebI. Voilà ce que je souhaite faire dans mon rapport et je n'y arrive pas ! Je veux afficher les informations pour un jour saisi (ou choisi dans une liste) par l'utilisateur ainsi que les informations du même jour (lundi, mardi, mercredi...) de la semaine précedente et également la moyenne sur les 4 derniers même jours des 4 semaines précédentes. Pour l'instant, j'ai créé une invite (au niveau de l'univers) appelée dans le rapport qui permet à l'utilisateur de saisir (ou choisir) sa date, c'est OK! mais je ne sais pas comment faire maintenant pour récupérer également les infos pour la semaine précédente et surtout faire la moyenne sur les 4 derniers memes jours.... Dois je créer d'autres filtres au niveau de l'univers? lesquels et comment? je suis perdue... si quelqu'un a une idée? un grand merci d'avance Pour info voici le premier filtre que j'ai créé Code :
@SELECT(Activité Heure\Date Exécution) = @Prompt('Date (DD/MM/YY) ?','D','Activité Heure\Date Exécution','MONO','FREE') |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Je pense que ce que tu veux faire c'est :
table.Jour = monInvite('Jour à sélectionner') OU table.Jour = monInvite('Jour à sélectionner') - 7 jours OU table.Jour = monInvite('Jour à sélectionner') - 14 jours OU ... Pour récupérer les données du jour demandé sur les 4 dernières semaines. La première solution c'est de demander à l'utilisateur de calculer lui même les jours en enlevant 1, 2, 3, 4 semaines au jour demandé. Evidemment c'est pas très user-friendly. Sinon tu peux créer dans l'univers 5 objets : Day : table.Jour Day Sem-1 : table.Jour + 7 jours Day Sem-2 : table.Jour + 14 jours Day Sem-3 : table.Jour + 21 jours Day Sem-4 : table.Jour + 28 jours Et ensuite dans ta requête de sélection tu fais : Day = monInvite('Jour à sélectionner') OU Day Sem-1 = monInvite('Jour à sélectionner') OU Day Sem-2 = monInvite('Jour à sélectionner') OU ... Au lieu de SOUSTRAIRE des semaines à ton jour de départ, tu vas en ENLEVER au jour utilisé par la BDD (attention, en terme de performances ça peut être très mauvais). Avec ça tu récupères ta journée (par exemple le lundi) sur tes 5 semaines (celle demandée + 5 précédentes) et tu n'as plus qu'à faire ta moyenne, ton historique, etc. dans BO.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : décembre 2004 Messages : 113 ![]() |
Merci pour ta réponse.
Pour ta première solution, saisir toutes les dates par les utilisateurs, je ne peux pas le retenir (pas OK pour les utilisateurs). Quand à la deuxième solution, elle me plait bien j'ai déjà essayé mais le problème c'est que je n'arrive pas à faire Day Sem-1 : table.Jour + 7 jours. J'ai une erreur qui apparait (pb de type number, date...). Voici ce que j'avais testé Code :
@SELECT(Activité Heure\Date Exécution) = @Prompt('Date (DD/MM/YY) ?','D','Activité Heure\Date Exécution','MONO','FREE')-7 Code :
@SELECT(Activité Heure\Date Exécution) = to_date(@Prompt('Date (DD/MM/YY) ?','D','Activité Heure\Date Exécution','MONO','FREE'),'DD/MM/YYYY')-7 Merci |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Ma solution consiste à créer des objets dans l'univers. Est-ce ce que tu as fait ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : décembre 2004 Messages : 113 ![]() |
Après réflexion, je viens de comprendre que je n'avais pas fait exactement ce que tu me conseillais. Je pensais faire des filtres (mon code, défini dans l'univers) et non des objets. Je viens de tester avec des objets, cela semble OK...
Mais cela ne me plait pas trop, de créer tous ces objets... mais ton +7 au lieu de -7 me plait et je viens de l'appliquer à mes filtres qui ne marchais pas avant et cela marche maintenant! Merci |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Je viens de penser à une autre solution : définir dans l'univers un objet condition qui contient l'invite de commande et les 5 tests sur la date avec des OU. Ca évite d'avoir 5 objets mais ça t'oblige à créer ton invite dans les objets de ton univers.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : décembre 2004 Messages : 113 ![]() |
j'ai pensé la même chose! je suis en train de tester...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com