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 27/06/2007, 13h00   #1
Invité de passage
 
Inscription : mai 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 15
Points : 4
Points : 4
Par défaut Invite permettant la saisie d'un paramètre

Bonjour,

Je souhaite construire une invite permettant aux utilisateurs d'entrer un paramètre qui servira dans mon état pour des calculs.

J'ai donc essayé de créer un objet dans mon univers à l'aide de la fonction @Prompt mais ça ne marche pas.

Mon objet ne fait référence à aucune table puisque l'objet doit être défini par l'utilisateur.

Auriez-vous une idéé?

Merci d'avance

finesse20
finesse20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 14h21   #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
en effet c'est un problème redondant ça....

.... il te faudrait une condition prédéfinie avec un @prompt (cherche dans le forum à condition prédéfinie ou à @prompt j'ai laissé du code à ce sujet)


..le problème est que ta condition prédéfinie doit obligatoirement porter sur un table.champs ou objet existant dans ton univers.

... Et il faut je suppose que la selection d'une valeur pour cet invite n'ai pas d'impact sur le résultat de la requete, sinon tu ferai une invite classique.

1-il faut donc créer un alias d'une table isolé du reste du modèle.
2- créer un objet pour cette table <valeur>
3- créer une condition prédéfinie <c_valeur>pour cet objet
@Select(MA_Classe\valeur) IN @Prompt ('Choix valeur', 'A', 'MA_Classe\valeur', MULTI, FREE) )
La liste de valeurs possible sera ici celle de l'objet Ma_classe\valeur, donc si tu veux la modifier il faut modifier la liste de valeur de l'objet ajouté

4- faire ta requete classique et ajouter l'objet <valeur> et la condition prédéfinie <c_valeur>
Si tu regarde le SQL, BO doit avoir généré 2 requetes séparées car l'alias ajouté est isolé du modèle.

ensuite tu peux utiliser ce qui est saisie dans l'invite pour un calcul par exemple :
=10*EnNombre(RéponseUtilisateur ("Requête 1 avec BEACHFR" , "Choix valeur"))

Ce n'est pas très pratique, car l'utilisateur est obligé d'ajouter à la fois un objet et une condition....mais s'il s'agit d'un rapport ponctuel ça peut faire l'affaire...
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 14h29   #3
Invité de passage
 
Inscription : mai 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 15
Points : 4
Points : 4
merci de ta réponse bastoonet.

Tu as parfaitement cerné mon problème. Je vais donc suivre tes conseils en créant un alias de table.
finesse20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 15h15   #4
Membre du Club
 
Inscription : février 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 89
Points : 64
Points : 64
Bonjour,
je ne suis pas sur que tout ca soit nécessaire.
Si ton objet n'est pas lié à une table tu auras un avertissement dans le designer mais ce ne sera pas une erreur.
Dans ton rapport l'objet (non lié) ne posera pas de pb à condition qu'il n'est pas le seul objet de ta requête.
Malala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 15h24   #5
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
...oui la partie sur la fonction prédéfinie n'est pas obligatoire....tu peux le faire dans l'éditeur de requete à partir de l'objet que tu as ajouté....

...mais tout bon Designer...avait bien sûr compris cela....
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 15h31   #6
Membre du Club
 
Inscription : février 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 89
Points : 64
Points : 64
je comprend pas pourquoi tu veux mettre une condition prédéfinie?
Malala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 15h43   #7
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
Bah parce que je croyais que les utilisateurs allaient créer eu même les rapports (vu que BO sert à ça)

...ça évite de se retaper la condition à chaque fois....et en plus on peut mettre une description qui définie comment utiliser la condition (par exemple dans notre cas qu'il faut ajouter également l'objet correspondant à la condition....sinon on se retrouve avec une belle erreur car on aura comme SQL
(select from table where @prompt(etc etc...) avec rien dans le select..
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 15h50   #8
Invité de passage
 
Inscription : mai 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 15
Points : 4
Points : 4
Ca y est mon problème est réglé.

J'ai tout d'abord créé un alias de table de la façon dont me l'avait conseillé bastoonet.
Mais lorsque j'ai inséré mon objet et ma condition dans la requête de mon état, une erreur intervenait : génération produit cartésien.

J'ai finalement créé un objet à partir d'une table existant dans mon schéma.
J'ai ensuite créé dans mon état un deuxième fournisseur de données ne contenant que mon paramètre (en résultat) avec la condition associée.
et ça marche très bien.

Merci de votre aide
finesse20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 16h05   #9
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
ok...

ça vient peut être des paramètre et restriction de ton univers....et également de ta base de données....
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 08h53   #10
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
Salut


Il est tout à fait possible d'avoir un @prompt qui ne pointe pas sur un objet de l'univers. Cet @prompt devra OBLIGATOIREMENT être créé sous Designer.

@prompt( 'Question?', 'A', ,MONO,FREE)

Tu peux si tu souhaites mettre des valeurs de choix:
@prompt( 'Question?', 'A', {'choix1', 'choix2', 'choix'}, MONO, FREE)

Le seul problème réside dans la condition pour créer ton prompt mais tu peux faire un truc du style

objet <Mon Parametre>
('A' = @prompt( 'Question?', 'A', ,MONO,FREE)
OR
'A' <> @prompt( 'Question?', 'A', ,MONO,FREE))

Ainsi dans ce cas, tu seras sûr que cela ne sera pas bloquant pour le reste de la requête


J'espère t'avoir aidé

Frédéric
frederic_s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 10h15   #11
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Si j'ai bien compris le problème, je suis plutôt d'accord avec frederic_s. En fait ce qui m'étonne c'est ça :
Citation:
J'ai donc essayé de créer un objet dans mon univers à l'aide de la fonction @Prompt mais ça ne marche pas.

Mon objet ne fait référence à aucune table puisque l'objet doit être défini par l'utilisateur.
Je serais tenté de dire : où est le problème ? Une erreur quand tu essayes de valider la structure de ton univers ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 15h14   #12
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 31
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : novembre 2006
Messages : 31
Points : 28
Points : 28
Bonjour,

il y a plus beaucoup simple:

tu mets 2 fois le même prompt dans ta condition, juste pour avoir la réponse de l'utilisateur:
@Prompt('Voulez vous xxxx O/N ?',{'O','N'},,MONO,FREE)
=@Prompt('Voulez vous xxxx O/N ?',{'O','N'},,MONO,FREE)

c'est une condition du genre 'A'='A' qui n'impacte pas le résultat de ta requête mais qui te permet d'avoir ensuite la RéponseUtilisateur('Voulez vous xxxx O/N ?')

@+
Ghy74
Ghy74 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 16h38.


 
 
 
 
Partenaires

Hébergement Web