Nombre de ligne entre X ligne identique

Bonjour à tous,
J’ai besion s’il vous plait de compter le nombre de lignes( ou distance) entre deux ligne identique .
image
Si par exemple un article GAZ1 se trouve dans la ligne 1 et un deuxiéme article GAZ 1se trouve dans la ligne 5 Alors le résultats est 3.
Je veux faire cela pour toute la colonne qui contient plusieurs articles(Gaz 1, Gaz 2,…).
Merci d’avance et bon weekend à toutes et à tous.

Bonjour @LEITH et bienvenu au forum.

Pour GAZ 2, la distance ne devrait-elle pas être 3?

1 Like

Salut Bruno et merci pour votre retour.
Oui pour GAZ 2 la distance est de 3 je me ss trompé lol.
Connaissez vous une méthode pour calculer cela?
Merci

Pas de souci @LEITH .

Il y a plusieurs façons pour accomplir cela. En voici une:

Mon data:
image

Resultats:
image

Voici le workflow: Nombre de lignes entre types de moteur identiques.knwf (19.2 KB)

2 Likes

Merciiiiiiiiiiiiiiiiiiiiiiiiiii infiniment Bruno Vous m’avez énormément aidé.
Cependant en utilisant ma base de donné extraite de l’ERP parfois le résultat de distance est erroné.


  • 'ai une autre question s’il vous plait:
    J’ai rajouté des condition sur un noeud java pour que si la distance entre 2 moteur est supérieur à X alors il m’affiche 1, cependant parfois la condition est bonne mais il n’affiche pas 1. ici la condition de distance entre 2 C13 GAZ>=3

Est-il possible s’il vous plait de jeter un cout d’œil sur mon programme en PJ.
Je vous laisse aussi en PJ ma base de donnée en Excel.

Merciiiiii infiniment et bon weekend.
KNIME FPT Frm - Copie.knwf (113.5 KB)
Engagement 27_06 27_07.xlsx (176.4 KB)

1 Like

Bonjour @LEITH ,

Le fichier Excel que vous partagez ne contient pas de “Type”.

Et votre workflow ne contient pas de data, et donc je ne peux pas voir ce qui ce passe dans les nodes.

Quand j’essaie d’utliser le fichier Excel dans le workflow, le workflow ne marche pas (structure pas compatible).

EDIT:
Puis-je avoir les 3217 records de votre screenshot?

Aussi, pour la condition, pas besoin de java. La node de Rule Engine fera l’affaire.

Bonjour Bruno,

Effectivement je me suis trompé de fichier.
Vous trouvez en pièce
KNIME FPT Frm - Copie.knwf (113.5 KB)
jointe le fichier qui contient la colonne ‘‘TYPE’’ classé par date à charger directement au niveau du node 2 ‘‘counter generation’’.


TYPE.xlsx (57.8 KB)

Encore merci pour votre aide.

Merci pour le fichier @LEITH , mais ce ne sont pas le mêmes records que dans votre screenshot. Ou du moins, l’ordre n’est pas pareil.

Il est claire dans votre screenshot que vous faites d’autres manipulation. Voyez-vous, le Row ID du résultat devrait montrer RowX#N, alors que dans votre screenshot, il y a des cas de RowX_RowY ce qui indique qu’il y a eu une manipulation telle que concatenation ou join, etc.

Dans le fichier que vous avez donné, les date de 2022-06-28 arretent à la ligne Row122, alors que dans votre screenshot elles vont au dela de Row174.

Néanmoins, le problème que vous soulevez est en fait relié au fait qu’il y a des espaces vide dans le Type, particulièrement pour C13 GAZ. Il y a “C13 GAZ” et "C13 GAZ ".
Un truc pour le decouvrir, c’est de faire join("XXX", $Type$, "XXX")
image

Si l’espace cause un problème et qu’elle doit être ignorée, vous pouvez utiliser la fonction strip().

Avec cette modification, voici donc les résultats (je me fie au Event date et non pas au Row ID pour comparer avec votre screenshot):

Et vu que vous avez pas mal de Type blanc, j’ai modifié le workflow pour qu’ils ne passent pas dans le loop:

Je vous ajoute aussi un Rule Engine pour votre condition “si la distance entre 2 moteur est supérieur à X alors il m’affiche 1” - sauf que je ne sais pas c’est quoi la valeur de X. Pour ma demo, je modifie à 1 si la valeur est 25 ou plus, mais vous pouvez modifier la règle:

Ce qui me donne:

Voici la nouvelle version du workflow: Nombre de lignes entre types de moteur identiques.knwf (88.6 KB)

Bonjour Bruno et merci infiniment pour votre support,
Je viens de réaliser quelques essais au début et ça a bien marché cependant quand j’ai changé la plage horaire ça n’a pas voulu bien marché.


Je pense que le programme est entrain de comparer les moteurs qui ont le méme ‘‘TYPE’’ et le méme ‘‘PROPOSITION séquencement’’ car quand j’ai filtré cette colonne de ‘‘PROPOSITION séquencement’’ tout marchait bien.

Si c’est possible je vais vous envoyer les 2 fichiers que je charge dans excel reader ainsi que le programme que j’ai développé et si vous aurez un peu de temps jettez s’il vous plait un cout d’oeuil.

-Aussi est-il possible s’il vous plait de mettre 1 dans les colonnes C13gaz si par exemple le moteur C13 gaz appareil pour la première fois dans la colonne ‘‘TYPE’’?

Bien cordialement.
base de donnée contraintes (1).xlsx (323.6 KB)
Engagement 27_06 27_07 (1).xlsx (179.6 KB)

KNIME FPT Frm - Copie.knwf (113.5 KB)

PS: le fichier base de donné contrainte se charge dans la NODE: base de donné contrainte
le fichier engagement se charge dans la NODE : Proposition MEL.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.