|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : février 2009 Messages : 30 ![]() |
Bonjour,
Dans Cognos 8.4 report studio (client web) j'ai deux invites de saisie de date de livraison dans la page de prompt : une date de début (paramètre db) et une date de fin (paramètre df) En base cette date de livraison est une varchar sous la forme MM/AAAA. Mon rapport doit uniquement afficher les lignes dont la date de livraison est comprise entre db et df. Pour cela j'ai crée le filtre d'abord le filtre pour la date de début : Code :
substring([BA].[BA].[Date de liv];4;7) >= substring(?db?;1;4) AND substring([BA].[BA].[Date de liv];1;2) >= substring(?db?;6;7) Quelqu'un peut-il m'aider svp ?
__________________
Avant j'étais schizophrène, maintenant nous allons mieux !
|
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Vincent OPNI Inscription : décembre 2004 Messages : 1 668 ![]() |
Bonjour,
Je dirais que je commencerais par - si je peut dire et sans aucune méchanceté de ma part - comparer des pommes avec des pommes, etc... Donc je ferais en sorte d'avoir des champs date, la ou je veux travailler sur une date. Il doit t'être possible a un moment donnée de créer un DataItem qui passe les données en varchar2 en date, d'un côté, et de l'autre de "caster" les valeurs renvoyées par les prompts pour avoir le même type de date. @+
__________________
Citation:
Mon dernier trip musical Citation:
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 11 ![]() |
Je suis d'accord avec Sunchaser, il serait plus simple de travailler avec des dates.
Pour passer d'une chaine de caractères à une date tu peux regarder du côté de la fonction _make_timestamp. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : avril 2010 Messages : 16 ![]() |
Bonjour,
moi je lui dit de rapatrier toutes les données supérieures a la date de début et toutes celles inférieur à la date de fin et apres je fais l'intersection des deux : calcul de la requete (à insérer dans ton tableau):intersect (deb;fin) |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Jacques VaillConsultant en Business Intelligence Inscription : septembre 2010 Messages : 45 ![]() |
Bonjour,
Si la donné stockée dans la base,date de livraison, est en format varchar2, je commencerais par l'avoir en date toujours au dernier jour du mois last_day(to_date(date_de_base,'YYYY-MM')) car le jour n'étant pas inclus il n'a donc aunce importance, sauf pour fin de simplicité dans la comparaison. je ferais ensuite un between pour être plus simple last_day(to_date(date_de_base,'YYYY-MM')) between ?db? and ?df? Si les invite sont en date et que tu as des date de livraison qui corresponde aux critères, je ne vois pas pourquoi cela ne marcherais pas. Merci |
|
|
00
|
|
|
#6 | |
|
Membre du Club
![]() Inscription : mars 2010 Messages : 105 ![]() |
Citation:
Je propose une correction de ton filtre: Code :
substring([BA].[BA].[Date de liv];4;7) + substring([BA].[BA].[Date de liv];1;2) >= ?db? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com