Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Deski
Deski Forum d'entraide Deski (client lourd)
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 28/02/2008, 17h55   #1
Invité de passage
 
Inscription : février 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 7
Points : 1
Points : 1
Par défaut [BO 5.1.2] DateRelative MoisEntre

Bonjour,
J'ai des statistiques à faire qui ont une granulométrie mensuelle.
Je souhaite quel que soit le jour du mois courant sortir les statistique du dernier mois écoulé.
Par exemple nous sommes aujourd'hui le 29/2/2008 et la demande de mon report effectuera le travail sur le dernier mois terminé c'est à dire 01/2008.

Le petit souci est trivial, quand on est en janvier 2008 le dernier mois écoulé est décembre 2007.
J'aimerai créer un objet personnel qui soit en format date le dernier mois/année écoulée
J'ai vu un superbe tuto de Bruno2R sur le sujet mais qui ne traite pas exactement mon cas.

Quelle fonction est il plus logique d'utiliser DateRelative ou MoisEntre ?
Selon quelle syntaxe, sachant qu'on prend comme argument la DateActuelle pour avoir la date d'aujourd'hui.

Merci de votre aide qui va me faire gagner du temps.
cobaye13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 08h46   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Salut,
Bon ! On va quand même pas te laisser sans réponse ...

Le problème avec les objets personnels c'est la lite de fonctions disponible : MISERABLE !
Si on avait au moins DateDuJour() ou Maintenant() ... même pas !
Si on avait eu ne serait ce que l'équivalent de sysdate on aurait pu créer un objet personnel calculant le NombreDeMois entre l'objet date et la date du jour (on aurait mis alors = 1 ou -1 selon le sens) et c'était réglé ...

Si tu as un objet correspondant à la date système ou date actuelle dans l'univers de ta requête tu peux calculer dans un objet personnel le nb de mois entre ton objet date et cet objet en utilisant la fonction MoisEntre (rangée dans fonctions numériques)


Au lieu de cela il faudra se référer à la date système au travers d'un sql à la carte (ou bien une requête sur un univers possédant cet objet)

Alors ? Que comment faire ?
Et bien pour solutionner ton problème il faut :
  1. créer un objet personnel ANEEMOISPLUS1
  2. créer une requête ou un sql à la carte ramenant l'annéemois de la date du jour
  3. mettre l'objet personnel en condition = le résultat de la requête (possible à paertir de la version 6)
  4. Compte tenu que la fonction FormatDeDate(<date>,'yyyymm') n'est pas utilisable...
1) Objet personnel ANEEMOISPLUS1
Code :
1
2
3
4
5
6
7
8
9
10
11
Sous-chaîne ( 
  Date en Caractère ( 
    Ajouter mois (  {CALENDRIER\Date} , 1 ) 
  )
, 7, 4 )  
|| 
Sous-chaîne ( 
  Date en Caractère (
     Ajouter mois (  {CALENDRIER\Date} , 1 ) 
  )
, 4, 2)
Avec cet objet, les dates de Décembre 2007 ramèneront 200801
Celles de Février 2008 : 200803 (année mois d'aujourd'hui 2 Mars 2008)

2) Récupérer l'AnnéeMois de la date d'aujourd'hui
Soit tu as un objet dans un autre univers et tu fais une requête pour le récupérer
Soit tu fais un SQL à la carte pour l'obtenir Exemple avec Oracle :
Code :
SELECT to_char(sysdate,'yyyymm') FROM dual
3) Poser la condition dans la requête de destination
  • Choisir l'objet personnel ANNEEMOISPLUS1
  • Choisir l'Egal l'Opérateur Egal
  • Choisir l'opérateur Sélectionner les résultats de la requête (ANY)
  • Choisir Dans la liste le SQL à la carte
  • et dans celui ci {TO_CHAR(SYSDATE,'YYYYMM')}
On obtient ainsi les enregistrements en date du mois précédent (en fait ceux qui, quand on ajoute 1 mois à leur date sont du mois d'aujourd'hui ... Ayana dirait que je suis tordu ! )

Bon bah il ne me reste plus qu'à ajouter à mon article une section sur les objets personnels

Si tu as un problème dis le ... si ça marche pense à Résolu... Merci
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h13.


 
 
 
 
Partenaires

Hébergement Web