Salut à tous,
J'ai besoin d'obtenir le nombre de rangées de séquences récoltées de groupé par exemple une colonne de données du formulaire:
aaabbbbbccaaadddbbb ...
L'utilisation de l'option Statistiques récapitulatives et le regroupement par cette colonne entraîneront total nombre d'occurrences pour chaque valeur de a B c d (Lignes N): 6,8,2,3. ce dont j'ai besoin c'est le nombre de rangées pour chaque groupe séparément dans l'ordre :
a, b, c, a, b, d (N lignes): 3,4,2,3,3,3
une idée?
Merci,
- Doyen
Ma suggestion est de créer une nouvelle colonne de formule en utilisant la formule suivante:
If( Row() == 1, counter = 0 );
If( Lag( :yourgrouppedcolumnname ) != :yourgrouppedcolumnname,
counter++,
counter
);
counter;
Remplacement de "yourgrouppedcolumnnmae" par le nom réel de la colonne contenant les colonnes répétitives.
Ensuite, vous pouvez exécuter la plateforme de résumé
Tableaux ==> Résumé
sur la nouvelle colonne, et il vous donnera les chiffres pour chacun des groupes.
Si vous avez besoin que les résultats reviennent dans le tableau d'origine, vous pouvez simplement utiliser la plateforme de mise à jour sur le tableau de données d'origine, en pointant sur le tableau récapitulatif et en faisant correspondre la nouvelle colonne que vous avez créée.
Vous trouverez ci-dessous un exemple de script utilisant l'exemple de table de données Big Class.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// Create the new binning column based upon the "Sex" column
dt << New Column( "Bin",
formula(
If( Row() == 1, counter = 0 );
If( Lag( :Sex ) != :Sex,
counter++,
counter
);
counter;
)
);
// Calculate the counts of the new binning column
dtSummary = dt << Summary(
Group( :Bin ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
// Move the counts into the original data table
dt << Update( With( dtSummary ), Match Columns( :Bin = :Bin ) );
