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 24/04/2007, 17h19   #1
Invité régulier
 
Inscription : mars 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 18
Points : 7
Points : 7
Par défaut Objet personnel - Calcul 1er et dernier jour du mois

Bonjour à toutes et tous,

J'ai dans mon univers une dimension qui me donne la <Date du jour>...

J'aimerais avec l'aide des objets personnels (je pense), pouvoir créer deux nouveaux objets basés sur cette dimension :
- Premier jour du mois en cours
- Dernier jour du mois en cours

Sauf que je bloque complètement actuellement... en fait je ne vois pas comment m'en sortir... J'ai essayé de passer par des conversions des dates en chaîne de texte pour pouvoir faire mes modifications "01/" & "mm/aaaa" (et ajoutermois(delautredimensioncree+1)), mais nada j'y arrive pas.

Merci aux bonnes âmes
amiral59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h59   #2
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
il vaut mieux je pense créer 2 objets directement dans l'univers.

pour le premier jour, rien de trop compliqué je pense il suffit comme tu dis de concaténer avec "01".
Il faut bien faire attention à quelle base de donnée tu utilises.

utilise la fonction substr si tu travaille sous oracle
"01"||substr(@select(<date_du_jour>),x,y)

il y a peut etre moyen également de créer une fonction oracle qui renvoie directement la valeur premier_jour_du_mois(<date_du_jour>)
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 07h41   #3
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Bonjour

Pour Oracle et le 1er jour du mois:

(dernier jour du mois précédent) + 1


Pour le dernier jour du mois, de mémoire, une fonction le donne directement.

Mais comme le dit Bastoonet, il vaut mieux faire cela sous DESIGNER.



Frédéric
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 10h36   #4
Invité régulier
 
Inscription : mars 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 18
Points : 7
Points : 7
Merci pour ces idées...

Cependant, je n'ai pas accès au mode Designer, et allez savoir pourquoi, il nous est impossible de faire notre propre SQL (cette option est totalement bloquée, juste l'affichage du SQL mais aucune modification possible sur celui-ci et encore moins la création directe de la requête).

Des informations que j'ai la base est une base Oracle, mais rien n'est certain.

A priori ce que je peux vous dire (en faisant une requête simple ne ramenant que ma dimension <date du jour>), j'ai dans le SQL (la fameuse zone grisée ):
Si cela peut faire avance le schmilblik...

Le problème que je rencontre, c'est qu'à priori cette dimension est de format date, mais je n'arrive pas à la convertir en caractère dans les objets personnels, j'ai toujours une erreur :
Code :
1
2
En faisant : En caractère (  {Divers\Date du jour}  ) 
 Erreur : Opérande incompatible (UNM0012)
En revanche si j'ajoute x jours, cela fonctionne bien... d'où ma supposition du bon format date de cette dimension

Je suis preneur de toute idée... en dehors d'intervenir dans le SQL ou à un niveau Designer qui m'est impossible
amiral59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 11h57   #5
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Bonjour

Dans B.O. si tu veux convertir une date en caractère, il faut utiliser
FormatDeDate( <objet>, format_de_ta_date_de_sortie)

Cela donne

Code :
FormatDeDate ( <date objet>, "DD/MM/YYYY")
ou
Code :
FormatDeDate ( <date objet>, "JJ/MM/AAAA")
suivant ton format de date de B.O.

Pour ta date de début et de fin de mois, il me semble qu'il existe une fonctions pour l'une des deux demandes dans B.O. mais je ne les ai pas toutes en tête. Si c'est la date de fin de mois, rien de plus simple alors pour le 1er jour


Frédéric
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 12h17   #6
Invité régulier
 
Inscription : mars 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 18
Points : 7
Points : 7
Oui je connais très bien cette fonction, mais celle-ci n'est pas dans les fonctions disponibles en création d'Objets personnels... du moins pas dans mon B.O (5.1.4)
amiral59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h07   #7
Membre habitué
 
Inscription : mars 2006
Messages : 111
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 111
Points : 116
Points : 116
Bonjour

Je n'ai plus utiliser cette version depuis quelques temps...
Par contre, je ne comprends pas pourquoi tu veux passer par des objets personnels.

Je te parle d'une variable dimension ou information à créer sous B.O.


Frédéric
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h50   #8
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 34
Points : 33
Points : 33
Dernier jour du mois :

DernierJourDuMois(<Date de réservation>) retourne '28/2/2002'quand <Date de réservation> est comprise entre le '1/2/2002' et le '28/2/2002'

Ce n'est pas plus simple ?

bon courage
jean marie
pendulaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 08h42   #9
Invité régulier
 
Inscription : mars 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 18
Points : 7
Points : 7
Mon problème est que je veux définir 2 nouveaux objets personnels 'Premier jour du mois' et 'Dernier jour du mois' basés sur une dimension existante 'Date du jour' afin de pouvoir utiliser ces 2 objets directement dans les conditions de mes requêtes/cubes, et ainsi avoir par exemple :

Code :
1
2
<Date de mise à jour dossier> Entre <Premier jour du mois> Et <Dernier jour du mois>
Pour par exemple retourné les dossiers mis à jour ce mois-ci, sans avoir à proposer d'invites à l'utilisateur final
L'utilisation des variables ne m'aide pas dans cette utilisation, et j'ai pas forcément l'envie de ramener plus d'informations dans le cube pour les filtrer après à l'aide de variable défini (j'y avais pensé aussi au début, mais le résultat n'est pas assez optimal en terme de temps de calcul)

Merci pour votre aide et pour les idées

J'espère avoir été plus précis
amiral59 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 16h03.


 
 
 
 
Partenaires

Hébergement Web