|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 27 ![]() |
Bonjour,
Je souhaite faire du prévisionnel sur les départs en retraite. Je dispose de la date de naissance et il faut que j'y ajoute un nombre d'année et de mois. Pour dire à partir de quand une personne peut prétendre à sa retraite. La seule manière à mon avis est de prendre [Date de Naissance] et d'y ajouter 60 année et 4 mois ou 60 années et 8 mois.. ou 62 ans si né après le 1er janvier 1956 Sans trop compliquer avec les critère de date de naissance je souhaiterais avoir une piste pour faire : [Date de naissance] + 60 ans et 8 mois. Des idées ? Sachant que je ne peux pas ajouter d'objet à l'univers. Merci de votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
BO ne permet pas de faire de calcul "propre" sur les dates... Surtout si on parle d'années. Néanmoins, tu peux obtenir un résultat (très) approchant avec la formule suivante :
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 27 ![]() |
Merci !
J'étais justement en train de me pencher sur la fonction daterelative quand j'ai vu ta réponse. je mets résolu.. car c'est très approchant en effet.
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Bonjour,
J'aime bien les petits problèmes comme ca Je l'ai fait de mon côté du coup. J'ai décomposé en 3 parties : Jours, Mois, Année 1/ [Jours] : On prend les 2 premiers caractère de la date Code :
=SousChaîne(FormatDeDate([Date];"dd/MM/yyyy");1;2) Code :
=Mod(EnNombre(SousChaîne(FormatDeDate([Date];"dd/MM/yyyy");4;2)) + 8;12) Code :
Code :
=FormatDeDate(EnDate([Jours] + "/" + [Mois] + "/" + FormatDeNombre([Année];"####")];"dd/MM/yyyy");"dd/MM/yyyy") ![]() NB : Il faut changer le format de la variable Année pour éviter la séparation des milliers, sinon BO ne sait pas le considérer comme il faut pour la conversion en date EDIT : Merci Tom ! Depuis tout à l'heure je m'amuse avec mes formules ![]() DateRelative est un tout petit peu plus facile !
__________________
|
||
|
|
10
|
|
|
#5 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Très bonne technique Julien
néanmoins attention aux gens nés le 29/02
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#6 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Ta technique n'est pas non plus super précise (pour ma défense
).Le designer aurait été d'un grand secours... EDIT : Pour les gens nés le 29/2, pas de problème je pense... On arrivera au 29 du mois d'octobre. Il y'aura problème pour les dates de naissance en 31 qui tomberont sur des mois en 30... Plus compliqué que ce que je pensais du coup
__________________
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 27 ![]() |
Merci à vous deux..
La formule de Julien est plus propre et je pense l'utiliser lorsque je n'aurais plus le problème des périodes transitoires.. parce que là c'est 60 et 4 mois pour ceux nés avant telle date, puis 60 ans et 8 mois pour ceux né en 1952, puis 61 ans pour ceux nés en 1953,.. Donc la date relative+x est suffisante.. mais par la suite pour calculer la date pour ceux qui devront avoir 62 ans la formule de Julien sera peut être plus juste |
|
|
00
|
|
|
#8 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Il faudra la retravailler pour les exceptions (cf post précédent), mais l'idée y est.
__________________
|
|
|
00
|
|
|
#9 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Je me suis mal exprimé... Je félicite ta technique, car tu as recherché la précision, et ta méthode est effectivement beaucoup plus précise que la mienne.
Je mettais juste un warning, (qui était faux d'ailleurs), pour les gens nés le 29/06. Car, si on reprend tel quel le jour de la date, avec 8 mois de décalage, ça nous fait tomber le 29/02... Donc si ça ne tombe pas sur une année bissextile, la formule renverra un #ERR EDIT : Vive le add_months() dans Oracle !!!
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#10 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
J'avais bien compris ton warning, je te taquinais
![]() En fait, je pense qu'il faudrait préciser un peu le besoin. A savoir, dans ton contre exemple, que faut il renvoyer ? 01/03 ou 28/02 ? C'est intéressant en tout cas de se mettre à la place d'un utilisateur pour voir le genre de contraintes qu'ils peuvent avoir. Pour revenir à ton problème Emmanuelle, je pense que le faire précisément va donner quelque chose de compliqué, il faudra gérer toutes les exceptions et, pour chacune, bien définir le résultat souhaité. Si tu en as l'occasion, demande à ton administrateur d'ajouter un objet dans le designer, car c'est beaucoup beaucoup plus simple.
__________________
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 27 ![]() |
Hello,
Merci mais c'est Emmanuel pas Emmanuelle ![]() Sinon j'ai accès au designer mais c'est un univers RH très complexe, fourni et modifié par la société qui s'occupe du progiciel.. donc oui je pourrais modifier et créer un objet mais si on faisait cela à chaque fois il y aurait tellement d'objets à modifier au fur et à mesure des années que cela serait ingérable à chaque modification de l'univers. En tout cas vos deux solutions me vont très bien |
|
|
00
|
|
|
#12 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
[QUOTE=EmmanuelD;5782251]Merci mais c'est Emmanuel pas Emmanuelle
![]() [QUOTE] Oups désolé... Bon courage pour tes retraites
__________________
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com