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 09/06/2006, 15h09   #1
Invité de passage
 
Inscription : mai 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 4
Points : 2
Points : 2
Par défaut Fonction Comparer(chaine1, chaine2)

Bonjour tout le monde,

Je vais passer pour le bleu de service, mais j'aime ça ^^

Voilà, dans un rapport BO, j'utilise des variables utilisant la fonction "Comparer" définie dans l'aide comme ceci :
Citation:
Syntaxe

Comparer(chaîne de caractères, aspect de la chaîne)

Description

Compare deux chaînes de caractères. Il s'agit d'une fonction logique qui s'utilise avec les opérateurs logiques Si Alors Sinon.

Exemple

Si Comparer("HUGO","S%") Alors "vrai" Sinon "faux" est égal à vrai.

Commentaire

Vous utilisez cette fonction avec des caractères génériques. Les caractères génériques peuvent remplacer n'importe quel caractère, ou n'importe quel nombre de caractères. BusinessObjects supporte les caractères génériques standard suivants:

Caractère générique Description

% Remplace plusieurs caractères, ou se trouve dans la réponse à une invite. Par exemple, N% retourne toutes les valeurs commençant par un N (Nancy, Nièvres, etc.)

_ Remplace un caractère dans une constante. Par exemple, GR_VE retourne Grave, Grive, Grève, etc.

Copyright © 1990-2001 Business Objects


J'utilise donc la formule suivante :
Code :
= Si Comparer(<MVT- Type de dossier(ALL Etp - Transferts sortants)> ,"%INDIVIDUEL%") Alors "Collectif" Sinon  "Individuel"
Ce n'est pas très logique (et d'ailleurs c'est faux, puisque tout le temps "individuel", mais ç'est ce que j'ai compris de l'exemple).
Il est dit dans l'exemple que Comparer("HUGO", "S%") est vrai => Alors "vrai" sinon "faux". Comme Hugo n'est pas de type "S%", je mets une valeur pour le Alors dans le cas où les chaines ne sont pas négales ?

Ce que je ne comprend pas c'est que généralement (et aussi très logiquement), la comparaison de 2 chaines retourne vrai si notre critère est rempli et pas l'inverse. Là je crois comprendre que c'est le contraire : si Comprarer("Hugo", "S%") (soit : les 2 chaines pas négales) alors "pas négales" sinon "négales".

Suis-je jeune et con ?
Samemax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 18h29   #2
Membre régulier
 
Inscription : mars 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 83
Points : 79
Points : 79
Peut-être qu'en reformulant on comprendrait mieux le problème....

En tout cas, j'avais utilisé cette fonction dans BO : elle fonctionnait de façon tout à fait logique, et ramènait "VRAI" si les deux termes étaient équivalents (donc "FAUX" pour "HUGO" et "S%"). Par contre, je n'ai pas lu la doc.
annickl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2010, 10h44   #3
Invité régulier
 
Inscription : février 2009
Messages : 16
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 16
Points : 6
Points : 6
Par défaut Solution

Ayant résolu ce même souci à l'instant, après pas mal de recherches, je peux répondre :

la documentation BO est doublement erronée :

un exemple correct est :

Si Comparer("HUGO","H*") Alors "vrai" Sinon "faux" est égal à vrai.

En effet, le % ne fonctionne pas, le caractère joker est le *.
klopi est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h16.


 
 
 
 
Partenaires

Hébergement Web