IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Webi Discussion :

[BO 6][Webi] Création d'une variable avec condition Si sous Bo Webi


Sujet :

Webi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut [BO 6][Webi] Création d'une variable avec condition Si sous Bo Webi
    Bonjour,

    Je travaille actuellement sous Bo Webi et j'ai besoin de créer une variable avec une condition Si.
    Je connais la syntaxe sous Bo client server mais je n'arrive pas à trouver l'équivalent sous BO Webi.
    Pouvez-vous me dire quelle syntaxe sous Bo Webi remplace la syntaxe suivante sous client server :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Si(code_produit DansListe ("1;2;3")) Alors Montant1 Sinon Montant2
    Merci pour votre aide

  2. #2
    Membre averti Avatar de eryk71
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 322
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    Peux tu nous dire dans quelle version version de BO tu es, v6,XI ?

    Si(code_produit DansListe ("1;2;3")) Alors Montant1 Sinon Montant2
    En WEBI XI :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si([code_produit] DansListe ("1,2,3") ; Montant1 ;Montant2)
    En supposant que [code_produit] est une dimension

    Dis nous si ça fonctionne.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Je suis en Version 6 de Bo webi.
    La solution proposée ne fonctionne pas car mon problème actuel est que sous cette version quand je crée ma variable, je choisis la fonction Si, je mets ma dimension Code produit mais je n'ai pas la possibilité de choisir l'opérateur DansListe.
    Il doit donc falloir utiliser autre chose ou l'écrire différemment mais je ne sais pas comment.

  4. #4
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =si (ou([code_produit]="1";[code_produit]="2";[code_produit]="3");Montant1;Montant2)


    sinon j'aurais bien mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Si([code_produit] DansListe ("1";"2";"3") ; Montant1 ;Montant2)
    pour ta liste, mais si tu n'as pas l'opérateur ....

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé en écrivant ma variable en mettant l'opérateur OU mais j'ai un message d'erreur : "L'objet "Ou" à la position 6 n'existe pas dans le rapport".

    Pour l'instant j'ai contourné mon problème en sommant des conditions Si et en mettant pour chacune d'elle un code de produit différent. Le problème est que j'ai une variable a créé qui fait référence à une petite cinquantaine de codes de produit et je ne me voies pas réécrire mon code avec Si une cinquantaine de fois.

    Si il pouvait y avoir une solution équivalente à DansListe je suis preneuse.

    Merci à tous pour votre aide.

  6. #6
    Membre averti Avatar de eryk71
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 322
    Points : 323
    Points
    323
    Par défaut
    Essaye ça et dis nous si c'est bon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si(([code_produit] =1) ou ([code_produit] =2) ou ([code_produit] =3) ; Montant1 ;Montant2)

  7. #7
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    ou avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =si (ou([code_produit]="1";ou([code_produit]="2";[code_produit]="3"));Montant1;Montant2)

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé les 2 solutions mais rien ne marche. J'ai toujours le même message d'erreur : "L'objet "Ou" à la position 4 n'existe pas dans le rapport".

  9. #9
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Heu, question bête : le "Ou", tu vas le prendre avec les fonctions, au même endroit que le "Si" ???

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Quand je crée ma variable, je choisis une fonction (ici la fonction Si). Il m'affiche dans la fenêtre de formule =Si().
    Puis je complète en choisissant mes objets et les opérateurs, en l'occurrence le Ou dans ce cas-là.

  11. #11
    Membre averti Avatar de eryk71
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 322
    Points : 323
    Points
    323
    Par défaut
    Bon ben essaye ça dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si ([code_produit] Entre (1;3);"Montant1";"Montant2")
    Je ne sais pas si le la fonction Entre les valeurs des 2 extrémités sont prises sinon tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si ([code_produit] Entre (0;4);"Montant1";"Montant2")
    et si ça fonctionne toujours pas, apparemment la fonction "SI" passe donc tu n'utilises que cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si ([code_produit] =1;"Montant1";si([code_produit] = 2;"Montant1";si([code_produit]=3;"Montant1";"Montant2")))
    Je sais le code est moche !!!

  12. #12
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Je crois qu'on ne peut pas mettre plus de 50 "SI" imbriqués, mais bon, c'est ce qu'il a fait je crois, c'est tout de même pas très satisfaisant !

  13. #13
    Membre averti Avatar de eryk71
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 322
    Points : 323
    Points
    323
    Par défaut
    Salut Ayana,

    c'est tout de même pas très satisfaisant
    Il me semble également qu'on ne peut pas mettre plus de 50 "si" imbriqués, je suis tout a fait d'accord avec toi, le code est pourri.

    Mais bon c'était pour le dépanner, sinon il aurait pu faire un decode mais je ne sais pas s'il était sous Oracle.

    Il y avait également la fonction "match" mais je ne connait pas l'équivalent en français.

    Mais je trouve bizarre que sous la version Webi en BOv6, nos codes proposés ne fonctionnaient pas.

  14. #14
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Salut à tous,

    Ayana tu ne vas pas le croire je me lance en webi
    Bon, alors votre problème est dans le ou ...
    c'est soit OU soit Où mais jamais ou
    syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     = Si([code_produit]="1" OU [code_produit]="2" OU [code_produit]="3" ; Montant1 ; Montant2)
    Pourquoi ne pas faire inextricable quand on fait déjà compliqué ...

  15. #15
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Ta formule tu l'as essayée sur V6 et XI pour voir ???

    Parce que je ne connais que XI R2, mais d'aussi grandes différences de code pour une conditionnelle basique, là j'en suis sur le c.. !!

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 223
    Points : 81
    Points
    81
    Par défaut
    sous webi 6.5 ce serait

    Si([code_produit] DansListe ("1,2,3") ; Montant1 ;Montant2)


    @bruno2r : j'ai bien lu ? tu te lances dans webi ?

  17. #17
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bon là on tourne en rond ...
    nat54 elle nous a dit dans un message précédent :

    Citation Envoyé par josegrid Voir le message
    Je suis en Version 6 de Bo webi.
    La solution proposée ne fonctionne pas car mon problème actuel est que sous cette version quand je crée ma variable, je choisis la fonction Si, je mets ma dimension Code produit mais je n'ai pas la possibilité de choisir l'opérateur DansListe.
    Il doit donc falloir utiliser autre chose ou l'écrire différemment mais je ne sais pas comment.
    Puis dans un autre message :
    Citation Envoyé par josegrid Voir le message
    J'ai essayé les 2 solutions mais rien ne marche. J'ai toujours le même message d'erreur : "L'objet "Ou" à la position 4 n'existe pas dans le rapport".
    Je pense donc que c'est simplement un problème de syntaxe
    d'où ma proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = Si([code_produit]="1" OU [code_produit]="2" OU [code_produit]="3" ; Montant1 ; Montant2)

  18. #18
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,

    Je viens d'essayer le dernier code proposé :

    = Si([code_produit]="1" OU [code_produit]="2" OU [code_produit]="3" ; Montant1 ; Montant2)

    mais j'ai toujours le même message d'erreur (à savoir : L'objet "Ou" à la position 39 n'existe pas dans le rapport").

    Pour l'instant mon code fonctionne en mettant des si imbriqués mais je dois avouer que j'aimerais trouver une meilleure solution d'autant que j'arrive à l'écrire simplement sous BO Client serveur.

    Merci à vous tous pour votre aide.

  19. #19
    Membre averti Avatar de eryk71
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 322
    Points : 323
    Points
    323
    Par défaut
    L'objet "Ou" à la position 39 n'existe pas dans le rapport"
    D'après le message d'erreur, j'ai l'impression que BO interprète le OU comme un objet et non comme un opérateur.
    Et comme l'objet OU n'existe pas, il y a ce message.

  20. #20
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Est-ce que ton code produit peut contenir la valeur "OU" ?

Discussions similaires

  1. Création d'une table avec conditions
    Par Najua dans le forum SAS Base
    Réponses: 1
    Dernier message: 16/04/2010, 16h41
  2. Création d'une table avec condition
    Par sofiane_bfm007 dans le forum SQL
    Réponses: 4
    Dernier message: 20/10/2008, 16h17
  3. Réponses: 4
    Dernier message: 08/08/2008, 12h38
  4. Réponses: 2
    Dernier message: 04/07/2008, 13h56
  5. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo