Comment créer une boucle et ajouter une colonne dans des tables de sous-ensemble et ajouter de la valeur en fonction d'une valeur de colonne spécifique ?Bonjour à tous, j'ai un sous-ensemble de table
J'ai deux questions.
1. Comment créer une boucle qui ajoute la colonne « Ref » à chaque sous-ensemble de la table ?
2. De plus, est-il possible que la valeur de la colonne créée soit basée sur le nombre le plus élevé de N lignes avec une valeur spécifique ?
Par exemple, la nouvelle colonne à ajouter sera Ref . La valeur de la colonne Ref sera basée sur la colonne Pays, où elle devra ajouter 1 à la valeur N de lignes la plus élevée de l'Amérique uniquement.
| Pays | N rangées | Réf. |
| Argentine | 4 | |
| Amérique | 0 | |
| Amérique | 5 | 1 |
| Brésil | 2 | |
| Brésil | 4 | |
| Canada | 2 | |
AMOUR
Automatisation et scriptsles fenêtresRe : Comment ajouter une colonne dans des tables de sous-ensemble et ajouter de la valeur en fonction d'une valeur de colonne spécifique ?Je ne suis pas sûr de ce que vous définissez comme « sous-ensemble de colonnes ». Est-ce à cela que vous faites référence, les tables de données créées à partir de
Tables=>Sous-ensemble
lorsque Sous-ensemble par est coché

et un tableau distinct pour chaque niveau de la ou des variables sélectionnées est créé ?
Re : Comment ajouter une colonne dans des tables de sous-ensemble et ajouter de la valeur en fonction d'une valeur de colonne spécifique ?Après avoir sous-ensemble la table, comment puis-je créer une boucle pour ajouter une colonne « Ref » sur toutes les tables sous-ensembles ?
*Je vais reformuler la question
Re : Comment ajouter une colonne dans des tables de sous-ensemble et ajouter de la valeur en fonction d'une valeur de colonne spécifique ?Voici un exemple d'une façon de faire la boucle. Le véritable problème est de savoir comment obtenir la liste des tables sur lesquelles effectuer la boucle. Cet exemple suppose que
Tables=>Sous-ensemble
avec un sous-ensemble par a été utilisé
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtSubsetList = dt << Subset(
By( :sex ),
All rows,
Selected columns only( 0 ),
columns( :name, :age, :height, :weight )
);
for each( {table}, dtSubsetList,
table << new column( "Ref");
wait(0);
table:ref[table << get rows where( :age == col max(:age))]=1;
);Re : Comment ajouter une colonne dans des tables de sous-ensemble et ajouter de la valeur en fonction d'une valeur de colonne spécifique ?Et si mes données ressemblent à ceci ? La colonne Pays est en type caractère, comment puis-je obtenir ses N lignes les plus élevées ? En supposant que j'obtienne les N lignes les plus élevées d'Amérique. D'après l'exemple que vous avez donné, je pense qu'il s'agit d'un type de données numérique
| Pays | N rangées | Réf. |
| Argentine | 4 | |
| Amérique | 0 | |
| Amérique | 5 | 1 |
| Brésil | 2 | |
| Brésil | 4 | |
| Canada | 2 | |
Re : Comment ajouter une colonne dans des tables de sous-ensemble et ajouter de la valeur en fonction d'une valeur de colonne spécifique ?Je suppose que quelque chose de similaire à cela sera ce dont vous aurez besoin
table:ref[table << get rows where( :Country == "America" & :N Rows == col max(:N Rows, :Country))]=1;
Je vous suggère de prendre le temps de lire le Guide de Scripting, pour apprendre JSL. Si vous n'êtes pas familier avec la programmation et au moins un langage de programmation, je vous suggère de rechercher sur Internet un cours gratuit sur "Apprendre à programmer".