Comment comptabiliser les changements dans les valeurs des lignes ?J'ai un grand ensemble de données où j'ai des blocs de valeurs répétitives comme ceci:
UN
UN
B
UN
C
C
C
Je voudrais compter le nombre de changements dans les valeurs de ligne ou, en d'autres termes, un nombre de lignes ignorant les lignes répétées consécutives.Dans cet exemple, le décompte serait de 4 (le troisième 'A' est un changement de 'B', donc ça compte).Existe-t-il un moyen de faire en sorte que JMP compte les lignes en ignorant les doublons répétés et consécutifs ?
J'utilise JMP 15.2.1.
Tableau de donnéesRe : Comment comptabiliser les modifications apportées aux valeurs des lignes ?Cela semble fonctionner!Merci!
Re : Comment comptabiliser les modifications apportées aux valeurs des lignes ?Une façon serait de créer une formule en utilisant Lag et ensuite vous pouvez obtenir la valeur maximale de cette colonne
If(
Row() == 1,
counter = 1;
, Lag(:col, 1) != :col,
counter++
);
counter;
</CODE><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1647639220121.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1647639220121.png" style="width: 207px;"><span class="lia-inline-image-display-wrapper" image-alt="jthi_0-1647639220121.png" style="width: 207px;"><img src="https://us.v-cdn.net/6038925/uploads/images/40960i3683E856360E0C73/jthi_0-1647639220121.png" role="button" title="jthi_0-1647639220121.png" alt="jthi_0-1647639220121.png" /></span></SPAN></SPAN></P>
<P> </P>
<P> </P>
<P>Peut-être que quelque chose comme ça pourrait aussi fonctionner :</P>
<P> </P>
<PRE><CODE class=" language-jsl">Col Cumulative Sum(Lag(:col) != :col)
Re : Comment comptabiliser les modifications apportées aux valeurs des lignes ?Voici quelques façons de gérer cela

Names Default To Here( 1 );
dt = Current Data Table();
For Each Row(
If(
Row() == 1, count = 1,
:column 1 != Lag( :column 1 ), count
++)
);
Show( count );
// Look in the log for the value of count
// or
dt << New Column( "The Count",
formula(
If(
Row() == 1, count = 1,
:column 1 != Lag( :column 1 ), count
++);
count;
)
);