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 03/05/2007, 15h13   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 27
Points : 3
Points : 3
Par défaut Qqch qui ressemble à une fonction Last()

Ciao tout le monde,

voici le quizz du jour ;-) :

BO 6.5.2


J'ai une Colonne "Performance" qui est calculée comme suit :
Code :
=NoFilter(RunningProduct(<Daily Gross Performance>+1)-1)
En gros, je chaîne (en multipliant) les "Daily Gross Performance" (perf journalières) les unes aux autres, et ça me donne ma performance.

ça fonctionne impec !

Comme vous l'immaginez, cette colonne, une fois transfromée en graphique de type ligne, ne donne pas une droite mais bien une courbe variant selon les jours vers le haut ou vers le bas. Le dernier jour (chez moi spécifié dans un Prompt appelé "Date to") on obtient une valeur (disons 1.39%), après avor passé de 0% le premier jour, à 2,3% après 20 jours, puis à -2% après 50 jours etc etc etc... .

J'ai eu 3 demandes : ajouter une ligne horizontale qui détermine le maximum atteint par la courbe et une autre qui atteint le minimum. Ces deux droites ont été facilement dessinées via les formules suivantes :
Code :
Max(<Performance>) IN Report et Min(<Performance> IN Report.
Facile... tout roule impec pour cela.

On a donc maintenant une courbe variable prise en sandwich entre 2 lignes horizontales qui montrent le min et le max atteint par cette courbe...


Maintenant, il me reste une demande que je n'arrive pas à réaliser : tracer une ligne droite allant de 0 jusqu'à la valeur de <Performance> au dernier jour... Pour ce faire, c'est tout simple : on calcule la valeur atteint par <Performance> le dernier jour, on divise par le nombre de jours, et on multiplie ça par le monbre de jours écoulés depuis le début, ça nous fait une belle progression linéaire !

Le problème, c'est que je n'arrive pas à le faire, et il me semble que c'est parce qu'il n'existe pas de fonction "Last". qui me permettrait de faire
Code :
=Last(<Performance>) IN Report
En pratique, je n'arrive pas à créer une colonne qui reporte la dernière valeur de <Performance> dans les autres dates.

J'ai essayé via un critère "where" en créant une dimension booléenne
Code :
IF <Day> = Max(<Day>) IN Report Then 1 else 0
qui fonctionne, mais le résultat escompté n'est pas jutse, il ne fait le calcul de performance que de l'avant-dernier au dernier jour...

Y aurrait-il moyen de trouver une fonction qui fait ça ????

Si vous avez une idée je suis preneur... Je vais y réfléchir ce WE, j'ai congé demain !!!

En attendant, toute proposition / idée est la bienvenue !


merci d'avance et A+
epfyffer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2007, 10h06   #2
Membre du Club
 
Développeur informatique
Inscription : décembre 2005
Messages : 51
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2005
Messages : 51
Points : 52
Points : 52
J'arrive pas à modéliser le truc, le matin non caféiné sans doute <.<. Mais j'avoue que de suite je vais suivre l'évolution de ce topic avec attention.
dajay 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 03h01.


 
 
 
 
Partenaires

Hébergement Web