F.A.Q. Business-ObjectsConsultez toutes les FAQ
Nombre d'auteurs : 15, nombre de questions : 19, dernière mise à jour : 16 juin 2013
Dans BO il est simple de calculer la date du premier janvier de l'année en cours
En 2009 c'est le 01/01/2009
=EnDate("0101"&FormatDeNombre(Année(DateCourante()) ,"0000") ,"jjmmaaaa")
On peut donc savoir quel jour de semaine tombe ce premier jour de l'année ici jeudi = 4
=NuméroDuJourDeLaSemaine(
EnDate("0101"&FormatDeNombre(Année(DateCourante()) ,"0000") ,"jjmmaaaa"))
Sachant qu'une semaine est de 7 jours on peu trouver la date du 1er jour de la semaine 1 eu enlevant (7-4jours)= 29/12/2008
=DateRelative(
EnDate(
"0101"&FormatDeNombre(Année(DateCourante()) ,"0000") ,"jjmmaaaa")
,-7+ NuméroDuJourDeLaSemaine(
EnDate("0101"&FormatDeNombre(Année(DateCourante()) ,"0000") ,"jjmmaaaa")))
Il suffit ensuite d'ajouter le multiple de 7 (a X 7) que l'on désire pour obtenir le premier jour de la semaine a exemple +3 semaines on obtient le 19/01/2009 jour1 de la semaine 4
=DateRelative(
EnDate(
"0101"&FormatDeNombre(Année(DateCourante()) ,"0000") ,"jjmmaaaa")
,-7+ NuméroDuJourDeLaSemaine(
EnDate("0101"&FormatDeNombre(Année(DateCourante()) ,"0000") ,"jjmmaaaa")))
+(7*3)
Appliqué aux variables numériques suivantes : année = 2009, semnum = 4, journum = 5
=DateRelative(
EnDate(
"0101"&FormatDeNombre(<année> ,"0000") ,"jjmmaaaa")
,-7+ NuméroDuJourDeLaSemaine(
EnDate("0101"&FormatDeNombre(<année> ,"0000") ,"jjmmaaaa")))
+(7*(<semnum>-1)+(<journum>-1))
On obtient bien le 23/01/2009 jour 5 de la semaine 4 de l'année 2009
Mettre la formule suivante dans une cellule :
=EnDate(FormatDeNombre(NuméroDuMoisDeAnnée([Date].[MaDate]) ,"0")&"/"&FormatDeDate([Date].[MaDate] ,"aaaa") ,"mm/aaaa")
Créer une variable avec la formule suivante :
=
(Max
(Rang(<
TaDimension>
,<
TonIndicateur>
)) Dans Bloc +
1
)-
Rang(<
TaDimension>
,<
TonIndicateur>
)
Il est souvent demandé s'il existe un équivalent dans BO à la fonction MONTHS_BETWEEN d'Oracle.
Malheureusement non, mais vous pouvez réussir à retrouver ce nombre avec la formule suivante.
Sans tenir compte du jour du mois :
=
((Année(<
Date
2
>
)-
Année(<
Date
1
>
))*
12
)+
(NuméroDuMoisDeAnnée(<
Date
2
>
)-
NuméroDuMoisDeAnnée(<
Date
1
>
))
En tenant compte du jour du mois (approximatif) :
=
((Année(<
Date
2
>
)-
Année(<
Date
1
>
))*
12
)+
(NuméroDuMoisDeAnnée(<
Date
2
>
)-
NuméroDuMoisDeAnnée(<
Date
1
>
))+
(Tronque(((NuméroDuJourDuMois(<
Date
2
>
)-
NuméroDuJourDuMois(<
Date
1
>
)+
1
)/
30
) ,1
))