Commande JSL keep pour conserver les variables souhaitées et supprimer les variables indésirables ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je recherche une commande de script JSL pour "conserver" uniquement les variables de colonne spécifiées et supprimer toutes les autres variables de la table de données actuelle.
Ce serait l'inverse de la commande spécifiée : dt << Supprimer les colonnes ( :A, :B, ... :N);
Idéalement, une commande keep plus efficace ressemblerait à :
dt = Table de données actuelle ( );
dt << Conserver les colonnes ( :time, :day, :location );
(résultat = Supprimer toutes les colonnes qui ne sont pas égales :heure, :jour, :lieu).
Merci.
Re : Commande JSL keep pour conserver les variables souhaitées et supprimer les variables indésirables ?Une méthode plus directe a été ajoutée à JSL dans JMP 14. Sélectionner des colonnes, inverser la sélection de colonnes et supprimer des colonnes peuvent accomplir ce qui est nécessaire.
dt = open("$SAMPLE_DATA\Big Class.jmp");
a = {"height", "weight"};
dt << select columns(a);
dt << invert column selection;
b = dt << get selected columns;
dt << delete columns(b);Re : Commande JSL keep pour conserver les variables souhaitées et supprimer les variables indésirables ?Une solution probablement plus simple, facile à réaliser manuellement (et à écrire facilement) consiste simplement à sous-ensembler vos données.
Sélectionnez les colonnes que vous souhaitez conserver, puis sous-ensemblez avec l'option Colonnes sélectionnées (1).Cela devrait également être plus rapide que la méthode décrite ci-dessus lorsque la table de données devient volumineuse, mais je ne l'ai pas testée.

Re : Commande JSL keep pour conserver les variables souhaitées et supprimer les variables indésirables ?Merci.Oui notre script ci-dessus a été utile.
J'ai légèrement modifié pour fonctionner dans la table de données actuelle, par exemple Data Table( "name_here") par rapport à la création d'une nouvelle table de données et le résultat a été un succès.
Re : Commande JSL keep pour conserver les variables souhaitées et supprimer les variables indésirables ?En attendant qu'ils l'ajoutent au JSL, vous pouvez essayer ceci :
Re : Supprimer des colonnes qui ne sont pas dans une liste
il pourrait être développé davantage et je l'ai trouvé très utile avant d'utiliser la commande table update.
Avant de mettre à jour les tables, il est utile de supprimer les colonnes qui portent le même nom mais que vous ne souhaitez pas mettre à jour. Ce qui suit le fera simplement en définissant les colonnes à conserver.
dt10 = New Table( "Test",
Add Rows( 10 ),
New Column( "A" ),
New Column( "B" ),
New Column( "C" ),
New Column( "D" )
);
Keep = {"A", "C"};
todelete = dt10 << get column names( "string" );
For( in = 1, in <= N Items( Keep ), in++, <BR />// assuming the to keep list is shorter than the list of columns in the table.
location = Contains( todelete, Keep[in]) ; // find the location of the keepers
if (location > 0, Remove From( todelete, location, 1 ) // if found remove it
));
if (nitems (todelete) > 0, dt10 << delete columns( todelete )); <BR />// if there is a delete list delete the columns from the table
si vous demandez cette commande à l’équipe de développement, demandez-leur de faire de même pour les lignes.
meilleur
Ron
Re : Commande JSL keep pour conserver les variables souhaitées et supprimer les variables indésirables ?Je suppose que vous faites une demande d'amélioration de fonctionnalités.Vous serez mieux servi si vous soumettez ceci à
support@jmp.com