Existe-t-il une alternative à l'itération sur les lignes à l'aide d'une formule de colonne ?J'ai un ensemble de données qui est une série de tests, tous collectés dans une seule table. L'expérience comprend 6 balayages de vitesse élevée à basse pour chaque échantillon, et ce que je dois faire est d'attribuer le numéro de balayage correct à chacun (c'est-à-dire de 1 à 6), puis de redémarrer la séquence pour l'échantillon suivant. Je pourrais facilement le faire avec la fonction séquence ou comptage, mais le nombre de points dans chaque balayage n'est pas toujours le même, il varie autour de 24-26. Voir l'image ci-dessous pour un exemple d'un « balayage » de haute à basse vitesse avant de démarrer le suivant.
Je suis sûr que cela pourrait être fait avec un script, mais mon expérience dans ce domaine est minime. Existe-t-il un moyen rapide et simple de le faire en utilisant des formules de colonnes ?

Modélisation statistique avancéeAutomatisation et scriptsPersonnalisation de masseIngénierie Qualité et ProcédésRe : Existe-t-il une alternative à l'itération des lignes à l'aide d'une formule de colonne ?Lag() pourrait être utile ici.
Remplacez :Column 1 par votre colonne de vitesse :
If(Row() == 1, curVal = 1);
If(:Column 1 > Lag(:Column 1),
curVal += 1
);
curVal;

Re : Existe-t-il une alternative à l'itération des lignes à l'aide d'une formule de colonne ?Merci pour l'aide, cela a fonctionné pour chaque ensemble de 6 séries de chaque échantillon. J'ai ajouté une ligne supplémentaire pour ramener le compteur à 1 après chaque 6 balayages afin que la formule et le code ci-dessous attribuent le bon numéro de balayage avec toutes les données empilées dans un seul tableau !
If( Row() == 1, curVal = 1 );
If( :speed > Lag( :speed ),
curVal += 1
);
If( curVal > 6, CurVal = 1 );
curVal;
