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 6.1.5] Détection de "Au moins trois fois consécutif le temps à zéro"


Sujet :

Deski

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut [BO 6.1.5] Détection de "Au moins trois fois consécutif le temps à zéro"
    Hello à tous,

    J'ai un petit exercice qui me pose problème.
    Voilà, j'ai un fichier excel composé de la manière suivante :
    Numéro de Série ; Numéro de retouche ; Temps Passé.

    Par ex
    10 ; A ; 10
    11 ; A ; 12
    12 ; A ; 0
    13 ; A ; 0
    14 ; A ; 0
    15 ; A ; 0
    16 ; A ; 0
    10 ; B ; 2
    11 ; B ; 3
    12 ; B ; 4
    13 ; B ; 5
    14 ; B ; 3
    15 ; B ; 2
    10 ; C ; 10
    11 ; C ; 0
    12 ; C ; 0
    13 ; C ; 0
    14 ; C ; 3
    15 ; C ; 0


    L'objectif de la requête que je souhaite construire consiste à trouver les retouches qui ont eu au moins trois fois consécutif le temps à zéro
    A 12
    C 11

    J'ai essayé par les sommes cumulatives et multiplier par zéro quand c'est différent de zéro mais je récupère les retouches des temps à zéro non consécutives.

    Avez-vous une idée qui pourrait me faire avancer sur le sujet ?
    Au plaisir de vous lire Merci !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    en admettant que ta colonne du temps de retouche s'appelle <F3> :

    Tu crées une nouvelle variable avec la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Si Précédent(<F3>) = 0 Et <F3> = 0 Alors 0 Sinon 1
    Je l'ai nommée Niveau1_0 mais tu lui donnes le nom que tu veux.

    Tu crées une seconde variable avec la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Si Précédent(<Niveau1_0>) = 0  Et<Niveau1_0> = 0 Alors 0 Sinon 1
    Je l'ai nommée Niveau2_0 mais tu lui donnes le nom que tu veux.

    Normalement si tu insères Niveau2_0 dans ton tableau, elle doit passer à 0 dès que tu accèdes à la troisième ligne consécutive où le temps est à 0.

    Je reconnais que si tu devais faire cette manip pour le dixième temps, l'enchaînement des variables serait un peu gonflant. Mais avec un peu de chance; là ça devrait être supportable (quoique rustique).

    Bon rapport

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour et Merci beaucoup Dlra,

    Demain (mon dernier jour de travail de 2008 , je vais essayer de mettre en place cette solution.
    Je te tiens au courant.



  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Hello,

    De retour après ma journée de travail.
    J'ai pu tester et cela marche.
    En face de la retouche, j'ai la variable niveau2_0 qui se valorise à zéro à partir du 3ième rang consécutif à zéro.

    Par contre, je voulais appliquer un filtre sur cette variable pour n'afficher que les retouches concernées. Mais, je ne peux poser de filtre dessus.
    J'ai essayé de compter le nombre d'occurrences de zéro mais je n'ai pas trouvé comment faire.

    Ce que j'ai fait en final : est un enregistrement du fichier sous excel et j'ai repris ce fichier pour refaire une requête et filtrer sur cette variable.

    J'ai donc réussi en final mais la deuxième partie est assez laborieuse.
    Si vous avez un idée pour pourvoir faire tout dans un seul rapport ?
    Merci par avance.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Effectivement, il n'est pas possible de filtrer sur cette variable, mais on peut y poser un alerteur. Cela ne résoud pas la question d'extraire les seules valeurs intéressantes, mais ça attire l'oeil.

    C'est lié à la manière dont BO applique ses filtres de rapport :
    La source de données se déverse dans le micro-cube et les données sont filtrées dès leur sortie du micro-cube avant que les variables aient été interprétées.

    Pour faire ce que tu souhaites, il faut que l'information à filtrer soit présente dans le micro-cube.
    Je crains que pour résoudre la question il soit nécessaire de faire un peu de programmation dans ou en dehors de BO.

    Il doit être possible d'ajouter l'information à un dataprovider (un jeu de données dans le cube) et permettre de réaliser le filtre.

    Je vais regarder çà mais je n'aurai pas accès à BO avant quelques jours (Noël oblige).

    Bonnes fêtes !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Hello,

    Merci pour ta réponse.
    J'ai aussi pensé aux alerteurs : mais comme j'ai un longue liste, même sous forme de tableaux croisés, c'est illisible.

    On verra tout cela l'année prochaine et Bonnes fêtes de fin d'année !


  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Il y a une solution à l'élimination des données non pertinentes sans passer par le SDK mais la mise en page finale n'est pas forcément idéale.

    Cela se fait en appliquant un masquage conditionnel sur les sections.

    Etape 1 :
    Tu crées une variable <Regroupement> formule : Attention à l'ordre de tri, cette variable doit concaténer toutes les dimensions du tableau.


    Tu utilises cette variable pour créer une section. Normalement elle va scinder ton bloc en un tas de sous-blocs d'une seule ligne.


    Etape 2 :

    Tu ajoutes à droite de ton maître de section autant de cellules qu'il y a de colonnes du tableau que tu veux afficher (ici par exemple 3 - F1, F2, Niveau2_0).
    Dans chaque cellule tu mets la formule de regroupement qui va bien pour éviter l'affichage de #VALEURMULTI.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =Min.(<F1>)
    =Min.(<F2>)=Min.(<Niveau2_0>)
    Note que cela fonctionnerait aussi avec Max.().


    Etape 3 :
    Tu supprimes ton bloc devenu inutile et le maître de section mais sans supprimer la section.


    Etape 4 :
    Tu appliques le masquage conditionnel des sections.
    Format>Section - onglet Général
    Tu coches <Masquer l'entête>
    et tu ajoutes la formule
    Normalement, c'est bon, tu ne vois plus que les lignes concernées.
    La mise en page n'est pas terrible. Si cela ne convient pas je crains qu'il faille passer par le SDK. Je n'aurai malheureusement pas le temps d'y regarder tout de suite.

    Meilleurs Voeux 2009 et bon BO.

Discussions similaires

  1. Détection simple quote
    Par Droïde Système7 dans le forum Débuter
    Réponses: 8
    Dernier message: 14/08/2009, 10h24
  2. [RegEx] Détection d'une chaine présente plusieurs fois par ligne
    Par Tchupacabra dans le forum Langage
    Réponses: 6
    Dernier message: 03/07/2009, 16h54
  3. Détection de 2 touches appuyées
    Par cyrose dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 16h25

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