Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Webi
Webi Forum d'entraide Webi (client léger)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2011, 16h47   #1
Invité régulier
 
Inscription : février 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 27
Points : 5
Points : 5
Par défaut Ajouter une période à une date !

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.
EmmanuelD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h24   #2
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juin 2009
Messages : 3 271
Points : 5 670
Points : 5 670
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 :
Code :
=DateRelative([Date_Naissance];22155)
__________________
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.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h27   #3
Invité régulier
 
Inscription : février 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 27
Points : 5
Points : 5
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.
EmmanuelD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h28   #4
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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)
2/ [Mois] : On récupère le mois + 8 en modulo 12. Il renverra donc toujours le mois qui va bien. (si Mai + 8; il renverra janvier)
Code :
=Mod(EnNombre(SousChaîne(FormatDeDate([Date];"dd/MM/yyyy");4;2)) + 8;12)
3/ [Année] : Si Mois + 8 est supérieur à 12, on ajoute 61 à l'année, sinon 60 :
Code :
1
2
=Si (EnNombre(SousChaîne(FormatDeDate([Date];"dd/MM/yyyy");4;2)) + 8 > 12; 
EnNombre(SousChaîne(FormatDeDate([Date];"dd/MM/yyyy");7;4)) + 61 ; EnNombre(SousChaîne(FormatDeDate([Date];"dd/MM/yyyy");7;4)) + 60)
4/ Enfin, on concatène les 3 et on transforme en date :
Code :
=FormatDeDate(EnDate([Jours] + "/" + [Mois] + "/" + FormatDeNombre([Année];"####")];"dd/MM/yyyy");"dd/MM/yyyy")
Bon courage

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 !
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2011, 17h30   #5
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juin 2009
Messages : 3 271
Points : 5 670
Points : 5 670
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.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h31   #6
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h32   #7
Invité régulier
 
Inscription : février 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 27
Points : 5
Points : 5
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
EmmanuelD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h34   #8
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Citation:
Envoyé par EmmanuelD Voir le message
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
Il faudra la retravailler pour les exceptions (cf post précédent), mais l'idée y est.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 17h35   #9
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : juin 2009
Messages : 3 271
Points : 5 670
Points : 5 670
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.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 19h50   #10
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 09h01   #11
Invité régulier
 
Inscription : février 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 27
Points : 5
Points : 5
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
EmmanuelD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 09h25   #12
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
[QUOTE=EmmanuelD;5782251]Merci mais c'est Emmanuel pas Emmanuelle
[QUOTE]
Oups désolé...

Bon courage pour tes retraites
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h33.


 
 
 
 
Partenaires

Hébergement Web