Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Webi
Webi Forum d'entraide Webi (client léger)
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 02/01/2008, 11h07   #1
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
Par défaut [BO XI R2 Webi] Filtre avec demande de saisie

Bonjour et Bonne Année 2008 !

Sous Webi, il existe un bouton dans la barre des tâches appelé : "Afficher/masquer le volet filtres".
Lorsqu'on active ce bouton, on peut filtrer à partir d'une dimension dans une liste les requêtes créées.

Exemple : je possède 2 dimensions en local
groupe(resolu) et groupe(traite)

Lorsque j'active le bouton filtre, je peux filtrer le résultat de mes 2 requêtes.
Exemple :
groupe(résolu) Dans liste : DEV
groupe(traite) Dans liste : DEV

Actuellement je possède 10 rapports identiques, il n'y a que le filtre qui change. Donc, je désire créer un seul rapport avec un filtre qui demande à l'utilisateur qu'elle groupe il désire dans une liste.

Je sais qu'il est possible de créer ces filtres dans l'univers mais le problème est que les filtres sont sur des variables locales donc non visible sur le Designer.

Est ce que je suis obligé de mettre mes variables locales dans l'univers ou il existe un moyen d'obtenir une invite à partir du filtre.

Merci
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 11h50   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 184
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 184
Points : 2 723
Points : 2 723
Bonne année 2008 à toi aussi
Je ne suis pas très pratiquant ... de webi mais je vais te livrer mes remarques plus intuitives que expérimentées :
  • il me semble possible d'utiliser des invites sur des "dimensions en local" (encore qu'il serait pas superflu que tu expliques un peu ce que tu entends par là ... feuille excel ? sql ?)
  • si elle sont issues d'un fichier personnel en local il n'est pas certain qu'elles soit accessibles aux autres utilisateurs ...
  • Si tu as la main sur l'univers le plus simple est effectivement d'y ajouter tes objets perso
Ce que je perçois pas clairement c'est d'où sort ta liste DEV
Peux tu préciser tout ça ...
__________________
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
Vieux 02/01/2008, 12h16   #3
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
Citation:
il me semble possible d'utiliser des invites sur des "dimensions en local" (encore qu'il serait pas superflu que tu expliques un peu ce que tu entends par là ... feuille excel ? sql ?)
J'ai crée 2 dimensions en variable locale dans le fournisseur de données.
Le but de ces variables locales est de tronquer le libellé contenu dans les objects de l'univers.
Exemple : Contenu de l'objet [groupe] dans l'univers
Développement
Telecom et réseau
...
Code de la variable locale [groupe(traite)]de type dimension crée dans le rapport
=Si(Gauche([groupe];13) = "Développement";"DEV";
Si(Gauche([groupe];17)="Telecom et réseau" ;"TEL-RES"...))

Contenu de la variable locale [groupe(traite)]
DEV
TEL-RES
...

Pour résoudre ce problème,

1)Est t'il possible de créer une invite avec une liste de valeur (qui serait le contenu d'une variable locale).
2)D'enregistrer le choix de l'utilisateur (dans la liste de valeur) dans une variable.
3)D'utiliser cette variable (qui contient donc le choix de l'utilisateur) dans la requête
exemple : [groupe] Egal à nom_de_la_variable

J'espère que les explications sont plus compréhensible
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 12h27   #4
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 184
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 184
Points : 2 723
Points : 2 723
oui oui oui beaucoup plus compréhensible !
et méa culpa ! j'aurais dû comprendre variables locales quand tu as dit "2 dimensions en local" j'ai pensé que c'était deux dimensions d'une requête non basé sur l'univers ... ah les bulles ont fait des ravages

Bon alors dans ton cas la réponse est non !
on ne peut pas mettre de condition dans la requête sur des objets calculés en variable dans le document !
Et pour cause : les variables sont basées sur les résultats de la requête (ici ton objet [groupe] une fois ramené par l'exécution de la requête.

En revanche Ta Solution est là :
Il te faut créer dans la requête un objet personnel qui traiter à l'identique de ta variable les valeurs de [groupe]
Cet objet, lui, sera utilisable en condition et avec une invite ...
Peux tu essayer et me dire ce qu'il en est ... car je suis à la maison et n'ai pas BO sous la main.
A +
Un doute terrible : je ne suis pas sûr du tout que les objets personnels existent en webi !!!!!
__________________
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
Vieux 02/01/2008, 14h13   #5
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
hummmmmmmm c'est quoi un objet personnel?

Citation:
Il te faut créer dans la requête un objet personnel qui traiter à l'identique de ta variable les valeurs de [groupe]
Dans la requête, j'ai fais un clic doirt un peu partout mais je ne peux pas créer d'objet personnel, il n y a que des objets issues de l'univers.
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 14h47   #6
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 184
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 184
Points : 2 723
Points : 2 723
Désolé je ne trouve pas l'équivalent en webi de ce que propose deski : Créer un nouvel objet à l'aide d'une formule sur un objet de l'univers et utilisable par la suite sur toute requête pointant sur cet univers.

A ta place j'utiliserais l'opérateur Correspond au modèle avec une invite précisant la syntaxe dans l'énoncé de la question
Quel Groupe ? (Dév% Tel% ....)

Sinon, tu peux rentrer dans le SQL de ta requête et le compléter par exemple en ajoutant
Code :
decode(ChampGroupe, 'Développement', 'DEV', 'Telecom et réseau', 'TEL-RES', ... , ..., sinon) AS GROUPE_TRAITE
Méthode :
  1. Cliquer sur Modifier la requête pour atteindre la vue Requête.
  2. Dans la barre d'outils de l'éditeur de requête,cliquez sur Visualiser le SQL. La boîte de dialogue Visualiseur SQL s'affiche
  3. Cliquez sur Utiliser SQL personnalisé.
  4. Modifiez le SQL,
  5. Cliquez sur Valider pour vérifier qu'il n'y a pas d'erreur.
  6. Cliquez sur Enregistrer
__________________
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
Vieux 02/01/2008, 15h41   #7
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
Citation:
A ta place j'utiliserais l'opérateur Correspond au modèle avec une invite précisant la syntaxe dans l'énoncé de la question
Quel Groupe ? (Dév% Tel% ....)
Ce code est déjà utiliser dans 3 requêtes dans le même rapport.

En fait, dans l'univers je possède 3 objets (Group1, Group2 et Group3) ayant le même contenu mais avec des liens vers d'autres objets qui sont différents. (Ceci pour éviter les boucles et à utiliser les Alias et les Contextes).
Voilà le contenu de ces objets :
ENG-DEVELOPPEMENT
ENG-TELECOM
...
FR-EMEA-AFRICA-DEVELOPPEMENT
FR-EMEA-AFRICA-TELECOM
FR-DEVELOPPEMENT
FR-....
....
Dans chaque requête j'ai :
req1: group1 correspond au modèle FR%
req2: group2 correspond au modèle FR%
req3: group3 correspond au modèle FR%

Ensuite je créee des dimensions en variable locale :
=Si(Gauche([groupe];16) = "fr-Développement";"FR DEV";
Si(Gauche([groupe];28)="FR-EMEA-AFRICA-DEVELOPPEMENT"
Ou Gauche([groupe];22)="FR-EMEA-AFRICA-TELECOM";"FR-EMEA";
Si(Gauche([groupe];20)="fr-Telecom et réseau" ;"FR TEL-RES";
...))

Citation:
Sinon, tu peux rentrer dans le SQL de ta requête et le compléter par exemple en ajoutant
Code :

decode(ChampGroupe, 'Développement', 'DEV', 'Telecom et réseau', 'TEL-RES', ... , ..., sinon) AS GROUPE_TRAITE
Si je comprends bien, le but de ce système est de faire une invite avec tout le contenu de la table Champgroupe en affichant le libellé tronqué. De plus, je peux choisir de n'afficher qu'une partie du contenu de la table ChampGroupe.
C'est une bonne idée, comme ça je n'ai plus besoin des 3 variables locales.
Le code decode.... est à saisir après le select je suppose.

Sinon il reste un principale problème, c'est que l'utilisateur devra choisir la même valeur 3 fois de suite, étant donnée que son choix est utilisé dans 3 requêtes différentes pour le même rapport.

C'est pouquoi je voulais mettre son choix dans une variable puis utiliser cette variable dans chaque requête sans solliciter l'utilisateur , mais qui n'est pas possible sous BO.

PS : Merci en fait de refléchir à mon problème alors que tu es chez toi.
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 15h57   #8
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 184
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 184
Points : 2 723
Points : 2 723
Citation:
Envoyé par eryk71 Voir le message
C'est une bonne idée, comme ça je n'ai plus besoin des 3 variables locales.
Le code decode.... est à saisir après le select je suppose.
Ca dépend de ta base de données ... ?
Code :
decode(champ ou fonction(champ),valeur1, alors , valeur2, alors, .... , sinon)
Citation:
Envoyé par eryk71 Voir le message
Sinon il reste un principale problème, c'est que l'utilisateur devra choisir la même valeur 3 fois de suite, étant donnée que son choix est utilisé dans 3 requêtes différentes pour le même rapport.
Pas du tout !
Requête 1 tu fait égal Créer une invite
Requêtes 2 et 3 égal Liste d'invites et tu reprend la même
La question n'est posée qu'une seule fois !
Citation:
Envoyé par eryk71 Voir le message
C'est pouquoi je voulais mettre son choix dans une variable puis utiliser cette variable dans chaque requête sans solliciter l'utilisateur , mais qui n'est pas possible sous BO.

PS : Merci en fait de refléchir à mon problème alors que tu es chez toi.
C'est avec plaisir.
Là je vais m'absenter mais à ce soir
__________________
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
Vieux 02/01/2008, 17h40   #9
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
La fonction DECODE ne fonctionne pas dans l'invite, voilà ce que j'ai dans la clause where :

Citation:
Group_name LIKE @prompt('Choix du groupe :','A',decode('Group_name','Développement','DEV'),Mono,Constrained,Persistent,,User:0)
BO me dit qu'il n y a pas d'erreur SQL.

Lorsque j'execute la requête j'ai l'invite de commande qui me propose de choisir les valeurs de la table group_name.
Je me demande s'il est possible de modifier les valeurs de l'invite.
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 18h55   #10
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 184
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 184
Points : 2 723
Points : 2 723
Oh la la
Tu as fait un furieux mélange de tout ...
De deux choses l'une :
ou bien tu utilises la méthode équivalente à Correspond au modèle
Code :
1
2
Group_name LIKE 
@prompt('Choix du modèle de groupe :','A','FR%Dév%','FR%Tel%',Mono,Constrained,Persistent,,User:0)
soit tu répercutes ton decode du select dans la clause where ...
t'es bien sur une base Oracle ???
Code :
1
2
WHERE  decode(ChampGroupe, 'Développement', 'DEV', 'Telecom et réseau', 'TEL-RES', ... , ..., sinon) = 
@prompt('Choix du modèle de groupe :','A','DEV','TEL',....Mono,Constrained,Persistent,,User:0)
Bon c'est un peu difficile à vérifier sans BO
__________________
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
Vieux 03/01/2008, 09h56   #11
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
Citation:
t'es bien dans une base Oracle???
Oui, je suis bien dans une base Oracle.

Citation:
Group_name LIKE
@prompt('Choix du modèle de groupe :','A','FR%Dév%','FR%Tel%',Mono,Constrained,Persistent,,User:0)
Le code ne fonctionne pas, j'ai une erreur SQL.
Il me semble après plusieurs tests que en utilisant le "@prompt", il faut précisier la table source (Group_name)

Citation:
Group_name LIKE
@prompt('Choix du modèle de groupe :','A','tbl_group_name',Mono,Constrained,Persistent,,User:0)
Pas d'erreur SQL

Citation:
Group_name LIKE
@prompt('Choix du modèle de groupe :','A','FR%Dév%','FR%Tel%','tbl_group_name',Mono,Constrained,Persistent,,User:0)
Erreur SQL

Citation:
Group_name LIKE
@prompt('Choix du modèle de groupe :','A','tbl_group_name','FR%Dév%','FR%Tel%',,Mono,Constrained,Persistent,,User:0)
Pas d'erreur SQL, mais il ne prend pas en compte 'FR%Dév%','FR%Tel%' dans l'invite

Citation:
WHERE decode(ChampGroupe, 'Développement', 'DEV', 'Telecom et réseau', 'TEL-RES', ... , ..., sinon) =
@prompt('Choix du modèle de groupe :','A','DEV','TEL',....Mono,Constrained,Persistent,,User:0)
J'ai le même problème dans le "@prompt"
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h00   #12
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
C'est bon j'ai trouvé il manquait les {} dans le code.
J'ai une autre erreur qu'il faut que je médite mais l'invite fontionne.

Merci Bruno2R
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h36.


 
 
 
 
Partenaires

Hébergement Web