Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?Bonjour à tous.
J'essaie de créer une colonne qui attribue un numéro d'itération (numérique et continu) basé sur la colonne "Commentaire = Fin de cycle" et l'incrémente pour le même SN. Le nombre de points de données pour chaque SN n'est pas le même.
Par exemple.
pour SN = "A", lignes 1-9 : Itération =1, lignes 10-16 Itération =2
pour SN = "B", lignes 17-27 : Itération =1, lignes 28-36 Itération =2 et ainsi de suite...
J'ai essayé quelques variantes à l'aide de la fonction Row ( ) mais sans succès. Quelqu'un peut-il fournir des conseils à ce sujet?

AnalytiqueTableau de donnéesRe : Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?Salut @ sumanthcb141977
S'il vous plaît essayez ce qui suit.
New Table( "Untitled",
Add Rows( 36 ),
New Column( "SN",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B"}
)
),
New Column( "iteration",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2]
)
),
New Column( "iteration count",
Numeric,
"Nominal",
Format( "Best", 9 ),
Formula( Col Cumulative Sum( 1, :SN, :iteration ) )
)
)
Si ce n'est pas ce que vous recherchez, veuillez fournir le tableau de données afin qu'il soit beaucoup plus facile à résoudre.
faites-nous savoir si cela a fonctionné
Re : Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?Merci pour la réponse. Désolé, il fallait être plus précis. Je n'ai pas besoin d'une colonne supplémentaire du nom de nombre d'itérations. Je voulais que la formule de l'itération attribue un nombre et l'incrémente en fonction du commentaire "fin de cycle". Ci-dessous, l'image de ce à quoi je voulais que la colonne d'itération ressemble.

Je joins le fichier jmp à la demande.
Re : Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?@ sumanthcb141977
essayez ce qui suit. il n'est pas robuste et nécessite que les données soient triées par SN puis par date.
New Table( "Untitled",
Add Rows( 36 ),
New Column( "SN",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B"}
)
),
New Column( "Comment",
Character,
"Nominal",
Set Values(
{"Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle",
"End of Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle",
"End of Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle",
"Cycle", "Cycle", "Cycle", "Cycle", "End of Cycle", "Cycle", "Cycle",
"Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle", "Cycle"}
)
),
New Column( "iteration count",
Numeric,
"Nominal",
Format( "Best", 9 ),
Formula(
If(
Row() == 1, 1,
Lag( :SN ) == :SN & Lag( :Comment ) == "Cycle",
Lag( :iteration count ),
Lag( :SN ) == :SN & Lag( :Comment ) == "End of Cycle",
Lag( :iteration count ) + 1,
Lag( :SN ) != :SN & Lag( :Comment ) == "End of Cycle", 1
)
),
Set Selected
)
)
peut-être que d'autres ont un moyen plus robuste d'indexer cela.
Re : Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?@ sumanthcb141977
ma seule autre idée serait d'utiliser une table supplémentaire. peut-être utiliser la nouvelle table telle quelle et utiliser sa valeur comme marqueurs de lieu. cela vous permettra d'avoir un tableau ou des valeurs numériques et un autre avec des catégories. cela réduira les conversions difficiles entre les nombres et les catégories.
Re : Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?Voici une autre option pour une formule
Col Cumulative Sum(
Col Min(Row(), :SN) == Row() | Lag(:Comment) == "End of Cycle",
:SN
);
Re : Comment attribuer et incrémenter un nombre d'itérations pour plusieurs variables avec des lignes inégales ?Merci pour la recommandation. Les données sont triées par SN et par date, ce qui facilite la tâche.