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

Deski Discussion :

[BO 5.1.9] La fonction "Où" dans BO


Sujet :

Deski

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut [BO 5.1.9] La fonction "Où" dans BO
    Bonjour,

    J'aimerais savoir s'il est possible d'utiliser plusieurs conditions avec la fonction"où".
    Par exemple je voudrais faire afficher dans une colonne le résultat si ma variable est égal à x ou y.
    j'arrive à le faire avec une condition mais pas 2 voire plus à la fois, ce qui m'oblige à créer autant de colonnes que de conditions et ensuite les totalisé. n'y a t il pas une façon plus simple de faire.

    voici un exemple d'une condition :

    =<Montant(Liste Rubriques)> Où (<Variable - Code - Intitulé(Liste Rubriques)>="RUBRIQUES - 100 - HEURES MAJOREES 100% J.FERIE")

    J'ai bien essayé avec une , entre chaque condition mais j'ai le résultat #CALCUL.

    quelqu'un a t il une idée.

    Un internaute du bout du monde.
    Diego

  2. #2
    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
    Bonjour,
    Peux tu nous dire en quelle version de BO tu es ?
    Si tu travailles en Deski (client lourd installé sur ton poste) ou Webi au travers d'un navigateur internet ?
    En regardant ta formule on comprend que tu es en Deski ...
    Il n'est pas possible d'utiliser DansListe avec Où donc :
    • Si tu veux n'afficher que les lignes de certaines rubriques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    =  Si(<Variable - Code - Intitulé(Liste Rubriques)> DansListe 
     ("RUBRIQUES - 100 - HEURES MAJOREES 100% J.FERIE" ,
    "RUBRIQUES - 150- HEURES MAJOREES 150% " ,
    "RUBRIQUES - 200- HEURES MAJOREES 200% " )
    Alors <Montant(Liste Rubriques)> )
    Dans ce cas il n'est pas nécessaire de préciser le Sinon

    • Si tu veux additionner ces montants retenus selon le critère de rubrique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    = Somme(<Montant(Liste Rubriques)> * 
    Si(<Variable - Code - Intitulé(Liste Rubriques)> DansListe 
    ("RUBRIQUES - 100 - HEURES MAJOREES 100% J.FERIE" ,
    "RUBRIQUES - 150- HEURES MAJOREES 150% " ,
    "RUBRIQUES - 200- HEURES MAJOREES 200% " )
    Alors 1
    Sinon 0)
    Adelante Amigo alejado
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci pour ta réponse rapide, je suis en deski (client lourd) version 5.1.9

    J'ai testé tes 2 réponses mais le résultat est #CALCUL.
    Ce message d'erreur n'intervient il pas quand on n'a pas de contexte de sortie.?

    Dommage que les messages d'erreur soient pas plus explicites....

    Merci pour vos messages.
    diego

  4. #4
    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
    Bonjour,
    Je ne comprends pas pourquoi ça ne marche pas, j'utilise cette méthode couramment .
    Les variables RUBRIQUE XXX sont bien de type dimension ?
    Montant est bien un Indicateur ?

    Est ce que tu as créé une rupture dans le tableau ?
    Est-ce que tu as créé une section ?
    Ces deux derniers points influent sur le contexte de calcul et #Calcul est effectivement le signe d'un problème de contexte d'Entrée / Sortie de calcul

    Pourrais tu également sélectionner ta formule et
    • soit approcher le pointeur de la souris de la barre de formule pour faire apparaitre l'infobulle dans laquelle on peut lire la formule contextuelle
    • soit faire Définir en tant que variable et choisir Dans son contexte pour obtenir également la formule contextuelle
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Le tableau ne comporte pas de rupture ou de classe maître, c'est une liste toute simple.

    voici la formule :

    = Si (<Variable - Code - Intitulé>) DansListe ("RUBRIQUES - 30 - PRIME D'ANCIENNETE" , "RUBRIQUES - 32 - REGUL PRIME D'ANCIENNETE" , "RUBRIQUES - 35 - PRIME D'ANCIENNETE HORAIRE") Alors <Montant>

    La requête que j'ai crée via l'univers est une simple liste reprenant l'identifiant du salarié, le code, l'intitulé et le montant de la rubrique, un salarié peut avoir plusieurs lignes.
    En créant mon tableau, j'ai d'abord mis l'identifiant salarié, il ne ressort qu'une seule fois (normal), et ensuite j'ai inséré mes colonnes dans lesquelles j'ai mis formules.

    Compte tenu qu'un salarié peut avoir plusieurs lignes, ne devrais-je pas faire une somme de la variable montant.

    Merci pour tes infos.

  6. #6
    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
    Citation Envoyé par diegochile Voir le message
    Bonjour,

    Le tableau ne comporte pas de rupture ou de classe maître, c'est une liste toute simple.

    voici la formule :

    = Si (<Variable - Code - Intitulé>) DansListe ("RUBRIQUES - 30 - PRIME D'ANCIENNETE" , "RUBRIQUES - 32 - REGUL PRIME D'ANCIENNETE" , "RUBRIQUES - 35 - PRIME D'ANCIENNETE HORAIRE") Alors <Montant>

    La requête que j'ai crée via l'univers est une simple liste reprenant l'identifiant du salarié, le code, l'intitulé et le montant de la rubrique, un salarié peut avoir plusieurs lignes.
    En créant mon tableau, j'ai d'abord mis l'identifiant salarié, il ne ressort qu'une seule fois (normal), et ensuite j'ai inséré mes colonnes dans lesquelles j'ai mis formules.

    Compte tenu qu'un salarié peut avoir plusieurs lignes, ne devrais-je pas faire une somme de la variable montant.

    Merci pour tes infos.
    Bien sûr que si !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    = Somme(
    Si (<Variable - Code - Intitulé>) 
    DansListe (
    "RUBRIQUES - 30 - PRIME D'ANCIENNETE" , 
    "RUBRIQUES - 32 - REGUL PRIME D'ANCIENNETE" , 
    "RUBRIQUES - 35 - PRIME D'ANCIENNETE HORAIRE"
    ) 
    )
    Alors <Montant> Sinon 0)
    attention tu n'as pas mis la parenthèse fermante de Si au bon endroit
    Somme(Si(DansListe()))
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    La formule ne fonctionnait pas car ma dimension comportait des chiffres et des lettres. Je n'ai pas accés aux univers, et je pense qu'ils ne sont pas terriblement bien construit.
    J'ai donc pris seulement l'intitulé de la dimension et au miracle ça marche.
    De plus j'ai noté qu'il était nécessaire d'insérer dans le tableau le champ de ma dimension s'en quoi j'ai le message #ERRI.

    Par contre j'aurais aimé n'avoir qu'une seule ligne par salarié or j'en ai autant qu'il y a de rubriques et la je pêche un peu.

    Si t'as un tuyau, je t'en remercie.

  8. #8
    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
    Citation Envoyé par diegochile Voir le message
    Bonjour,

    La formule ne fonctionnait pas car ma dimension comportait des chiffres et des lettres. Je n'ai pas accés aux univers, et je pense qu'ils ne sont pas terriblement bien construit.
    ça j'y crois pas du tout
    as tu pris les valeurs dans la liste de valeurs (si elle existe ) ?
    Citation Envoyé par diegochile Voir le message
    J'ai donc pris seulement l'intitulé de la dimension et au miracle ça marche.

    curieux ! c'est une dimension aussi ?

    Citation Envoyé par diegochile Voir le message
    De plus j'ai noté qu'il était nécessaire d'insérer dans le tableau le champ de ma dimension s'en quoi j'ai le message #ERRI.

    Par contre j'aurais aimé n'avoir qu'une seule ligne par salarié or j'en ai autant qu'il y a de rubriques et la je pêche un peu.

    Si t'as un tuyau, je t'en remercie.
    2 autres pistes :
    • faire une rupture sur le salarié
    • mettre la formule en pied de rupture sans oublier la somme(si(dansliste()))
    • une fois que ça marche plier la rupture
    • faire un tableau salarié somme(<Montant(Liste Rubriques)>)
    • poser un filtre sur le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Variable - Code - Intitulé>) 
    DansListe (
    "RUBRIQUES - 30 - PRIME D'ANCIENNETE" , 
    "RUBRIQUES - 32 - REGUL PRIME D'ANCIENNETE" , 
    "RUBRIQUES - 35 - PRIME D'ANCIENNETE HORAIRE"
    )
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Merci,

    ça marche, comme tu m'as dis en faisant une rupture et un plier de la rupture.

    Par contre, je t'assure que dans l'univers il y a 2 dimensions, une "intitule" une autre "code - intitulé" et la formule ne fonctionne qu'avec la dimension "intitulé".

    J'ai bien sélectionné les données par l'invite "liste des valeurs".
    Et il est nécessaire que j'insère dans ma tableau ma dimension "intitulé", même si ensuite je la masque mais elle doit être présente sans quoi j'ai un message d'erreur #ERRI.

    Mais ca fonctionne, reste qu'il est étrange que la dimension sur laquelle la formule teste doit être présente dans le tableau en colonne même masquer.

    Merci beaucoup.

  10. #10
    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
    Citation Envoyé par diegochile Voir le message
    Merci,

    ça marche, comme tu m'as dis en faisant une rupture et un plier de la rupture.

    Par contre, je t'assure que dans l'univers il y a 2 dimensions, une "intitule" une autre "code - intitulé" et la formule ne fonctionne qu'avec la dimension "intitulé".

    J'ai bien sélectionné les données par l'invite "liste des valeurs".
    Et il est nécessaire que j'insère dans ma tableau ma dimension "intitulé", même si ensuite je la masque mais elle doit être présente sans quoi j'ai un message d'erreur #ERRI.

    Mais ca fonctionne, reste qu'il est étrange que la dimension sur laquelle la formule teste doit être présente dans le tableau en colonne même masquer.

    Merci beaucoup.
    Non c'est assez normal puisque il faut parcourir les données ligne à ligne pour tester leur Rubrique.
    Le test portant sur le détail, on ne peut pas s'en passer
    Allez bonne chance et pense à mettre Résolu en cliquant sur le bouton en bas de la discussion
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Fonction] Quote et guillemet dans un textarea
    Par ddelec24 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/03/2007, 15h51

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