Parcourir les lignes d'une colonne pour trouver le nombre globalEssayer de trouver le nombre de comptes d’entrée en cours dans une colonne. La fonction ci-dessous fonctionne mais semble lente. Des suggestions pour améliorer le temps d'exécution du script ?
JMP14, JMP16
Ma proposition : je pense initialement construire un tableau associatif en ajoutant les entrées de :ColName en tant que "Clé" et en augmentant la valeur (Value++) en cas de duplication d'une entrée, c'est-à-dire une clé en double ou s'il s'agit d'une nouvelle entrée, en ajoutant une clé distincte avec une valeur définie sur 1 serait une meilleure façon. Ensuite, vous pouvez simplement parcourir les lignes pour trouver le nombre de "Valeur" correspondant.
Automatisation et scriptsRe : Parcourir les lignes d'une colonne pour trouver le nombre globalY a-t-il une raison spécifique pour laquelle vous souhaitez parcourir les lignes ? Vous pouvez très probablement utiliser un tableau Tabulation ou Résumé pour effectuer une tâche similaire.

Résumé + Tableau de pile

Re : Parcourir les lignes d'une colonne pour trouver le nombre globalVoici quelques façons de faire ce que je pense que vous voulez.
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( dt, items = by( :colName ) );
countOfUniqueValues = N Items( items );
// or
countOfUniqueValues = N Items( Associative Array( :colName ) << get keys );
Re : Parcourir les lignes d'une colonne pour trouver le nombre globalJe résume (dt_summary) la plus grande table de données (dt) qui me donne le nombre de lignes pour chaque entrée particulière dans la colonne : ColName.
dt_summary = dt << Summary( Group( :ColName ), Freq( "None" ), Weight( "None" ) );
Maintenant, je veux parcourir les lignes du tableau d'origine (dt) et obtenir le nombre de lignes du tableau récapitulatif pour la ligne actuelle pour vérifier si il est supérieur à 10 (occurrences).
Tableau récapitulatif (groupe par hauteur) :

Supposons donc que je sois sur la première ligne, que la hauteur est de 59 et que les occurrences sont de 2, je souhaite remplir ces informations dans la table de données actuelle (dt) dans une nouvelle colonne (height_qty).
Re : Parcourir les lignes d'une colonne pour trouver le nombre globalLa solution la plus simple consiste simplement à fusionner le tableau récapitulatif dans le tableau d'origine à l'aide du
Tableaux => Mise à jour
plate-forme
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt_summary = dt << Summary( invisible, Group( :height ), Freq( "None" ), Weight( "None" ) );
dt_summary:N Rows << set name("height_qty");
dt << Update(
With( dt_summary ),
Match Columns( :height = :height )
);
close( dt_summary, nosave );Re : Parcourir les lignes d'une colonne pour trouver le nombre globalJ'apprécie vraiment votre aide rapide, Jim. Cela a fonctionné comme prévu et le temps d'exécution a été réduit à environ 2 secondes contre presque une minute.