Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
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 17/03/2008, 11h37   #1
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
Par défaut [BO XI][Designer]Problème instruction IF THEN BO XI oracle 10g

rebonjour tous le monde ,
Je suis de nouveau devant un nouveau problème , je voudrais faire une requête sous designeur genre :
Code :
IF (@SELECT(Articles\Stock)='0','Rupture de stock',@SELECT(Articles\Stock))
, mais Designeur me dit erreur DBA oracle 00907 parenthèse de droite absente .
je n'arrive pas à reproduire la bonne syntaxe ,sachant dans la liste des fonctions il n'y a pas IFF(,,) ni de case when !
quelqu'un a une idée ?
merci
atb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2008, 12h12   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Bonjour,
en SQL mieux vaut utiliser decode(référence objet testé, critère1,réponse1,critère2,réponse2,sinon réponse)
Code :
decode(@SELECT(Articles\Stock),'0','Rupture de stock',@SELECT(Articles\Stock))
__________________
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 17/03/2008, 12h20   #3
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
merci Bruno2r
je viens de le faire ça marche par contre je voudrais faire ça pour calculer le chiffre d'affaire , si vente ou location mais je ne peux pas utiliser la fonction sum dans décode :
decode(type,vente ,sum(prix*qtte),location,sum(prix*qtte*durée))
y a t'il une équivalence ?
merci encore ne fois
atb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2008, 12h34   #4
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Une question pourquoi dois tu faire la somme ?
Ton calcul se fait ligne à ligne et après l'avoir fait en fonction du test tu peux faire la somme
Donc ce qui se fait après .... s'écrit avant
. En fait on calcule d'abord entre les parenthèses... pour faire simple
As tu essayé
Code :
sum(decode(type,'vente' ,prix*qtte,'location',prix*qtte*durée))
Au passage j'ai ajouté les simples cotesà 'vente' et 'location'
Dis moi si ça donne ce que tu veux
__________________
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 17/03/2008, 13h38   #5
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
merci de ta réponse , j'ai essayé ça :
Code :
sum(decode(@SELECT(Prets Com\Type),'v',@SELECT(Articles\Prix) ,0))
mais il me sort erreur combinaison incompatible d'objet
Prets Com\Type est un char(1) , si je mets à la place de 'v' un numéro ça marche j'enduis que le problème vient de la comparaison de deux chaines de caractères
atb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2008, 14h02   #6
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
avec ça :
Code :
decode(@SELECT(Prets Com\Type),'v','test résultat' ,'test'))
ça marche
avec ça :
Code :
sum(decode(@SELECT(Prets Com\Type),'v','test' ,0))
ça marche pas même erreur combinaison incompatible d'objet.
sachant que mon objet est de type numérique ! en alphanumérique même chose , si j'altère entre les deux types dans la fonction decode y a erreur
atb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2008, 14h09   #7
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Je ne crois pas que Combinaison incimpatible d'objets soit en rapport avec le type de données.
Je crois plutôt que tes objets dépendent de tables trop éloignées l'une de l'autre ou sans jointures entre elles ou appartenant à des contextes différents.
Tu aurais tout intérêt à créer une table dérivée (définie en sql portant sur les tables en question dont le select te fournirait les résultats attendus)

J'ai failli te le proposer déjà pour ton chiffre d'affaire.
__________________
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 17/03/2008, 14h17   #8
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
En vérifiant il y a une jointure entre mes deux tables sur article_id avec cardinalité 1N -1 , mais ce qui bizard c'est que dans les deux bouts de code précédents j'ai utilisé qu'une seule table "Prets Com" mais ça marche pas ! même type d'erreur je suis un peu perdu la ...
atb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2008, 14h49   #9
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
c'est vrai après mur réflexion(plein de test) je te dis que ta raison
mais crée une table dérivé sous designeur je sais pas faire je dois peut être utiliser la fonction agrégate que je n'ai pas encore explorer ,parceque je ne peux toucher à la base de donnée qui m'a été fournie ( d'où la difficulté du projet de formation)
atb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2008, 15h02   #10
atb
Membre chevronné
 
Homme
Inscription : novembre 2004
Messages : 571
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Autre

Informations forums :
Inscription : novembre 2004
Messages : 571
Points : 699
Points : 699
j'ai reussi à régler le problème , j'ai crée un contexte sur la première table et je l'ai lier à la deuxième du coup tout marche bien
je dois encore explorer le chemin des contextes à mon avis ! je te remercie Bruno2r pour ton aide
atb 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 08h58.


 
 
 
 
Partenaires

Hébergement Web