Obtenez des objets uniquesQu'est-ce qui a inspiré cette demande de liste de souhaits ?
J'ai répété que j'avais besoin d'obtenir une liste d'éléments uniques à partir d'une colonne ou d'une liste, et il serait bien d'avoir une fonction JMP intégrée et/ou un message qui facilite cela.
Quelle est l’amélioration que vous aimeriez voir ?
Ma suggestion est double :
- créer un nouveau message « << obtenir des éléments uniques » qui peut être transmis à une colonne de table de données ou à une boîte de dialogue de colonne de chaîne/boîte d'édition de colonne de chaîne qui renverrait une liste des valeurs uniques de cet objet
- créer une nouvelle fonction JSL « Obtenir des éléments uniques (liste) » qui ferait la même chose pour une liste
Pourquoi cette idée est-elle importante ?
Il s'agit principalement d'améliorer l'efficacité du codage et la lisibilité du code JSL. La méthode la plus efficace actuellement pour obtenir la liste des éléments uniques d'une liste est d'utiliser
list={"a", "b", "a", "c", "a", "d"};
unique_items=(Associative Array(list) << get keys);
l'alternative serait un peu plus simple et plus lisible
unique_items = Get Unique Items(list);
De même, pour obtenir une liste d’éléments uniques à partir d’une table de données
// common way to do this now
unique_items=Associative Array(
<COLUMN reference="">
<< get items) << get keys; // proposed shorter and more readable way unique_items =
<COLUMN reference="">
<< get unique items;
</COLUMN>
</COLUMN>
Automatisation et scriptsRe: Obtenir des objets uniquesce sera:
col N unique (column)
avec la possibilité supplémentaire d'obtenir plusieurs compteurs via les arguments groupBy :
Col N Catégories - et tous les autres...
super cool : la possibilité d'améliorer la fonctionnalité via la portée
Transformer les colonnes : aussi confortable que les statistiques récapitulatives ?
Re : Obtenez des objets uniques - Statut modifié en : Oui, restez à l'écoute !Oui, comme @hogi l'a indiqué, cette fonction sera disponible dans JMP 19.
col N unique (column)
Re: Obtenir des objets uniquesEt concernant
unique_items = Get Unique Items(list);
est-ce que ça viendra aussi ?
Re: Obtenir des objets uniquesJe ne sais pas si cela est utile, mais voici comment je le fais :
- Sélectionnez les colonnes à partir desquelles vous souhaitez obtenir les éléments uniques
- Lignes -> Sélection de lignes -> Sélectionner les lignes en double
- Lignes -> Sélection de ligne -> Inverser la sélection de ligne
- Copie
Le presse-papiers système contient désormais une liste unique d'éléments dans cette colonne. Astuce : définissez des raccourcis clavier pour les éléments 2 et 3 et vous obtiendrez votre liste en quelques secondes.
Re: Obtenir des objets uniquesBelle astuce !
L’utilisation de tableaux associatifs (comme décrit dans le message d’origine) est une autre solution de contournement.
Une autre option consiste à utiliser Résumer(uniqueEntries=by(mycol)) .
Toutes ces méthodes fonctionnent. Encore mieux :
Quand vous le savez, souvenez-vous-en, parlez-en à vos collègues — vous ressentirez un sentiment d’accomplissement !
C'est tellement gratifiant !
Mais après avoir révélé le secret au 101e collègue...
Vous vous demandez si quelque chose comme ça :
unique_items = Get Unique Items(list);
column << get Unique Items()
pourrait rendre la vie plus facile.
... peut-être comme un wrapper pour l'approche du tableau associatif ?
Re: Obtenir des objets uniques@Sarah-Sylvestre , pourriez-vous s'il vous plaît ajuster le statut du souhait ?
Désolé, "c'est ma faute".
col N unique (column)
c'est super utile - mais pas ce que @MathStatChem a suggéré dans son souhait.
Objet : Obtenir des objets uniques – Statut modifié : ReconnuRe: Obtenir des objets uniquesOpen( "$SAMPLE_DATA/Big Class Families.jmp" );
show(set unique(:name << get values());
Row() = 1;
Show( Set Unique( :sports ) );

Re: Obtenir des objets uniquesCela offre une solution partielle. Cependant, je n'apprécie pas particulièrement le nom de la fonction. « Set » est principalement utilisé en JSL pour définir des valeurs ou des propriétés ; donc « Set Unique » implique que quelque chose est défini. Toutes les fonctions de liste « Set » (Set Unique, Set Union, Set Difference, Set Intersection) présentent ce problème. Je préférerais que le nom de la fonction soit dans l'ordre inverse (c.-à-d. Unique Set, Set Union, Set Difference, Set Intersection).
Set Unique() nécessite encore un peu de JSL supplémentaire pour faire ce que je voulais. Pour les colonnes de tableau, il faut soit sélectionner les lignes concernées (par indexation, soit passer << get values à la colonne dans la fonction (Set Unique(:col[a::b]) ou Set Unique(:col << get values)), et pour les zones de colonnes, il faut toujours utiliser un message get.
Mais c'est un ajout intéressant à la liste des fonctions JSL.
Re: Obtenir des objets uniquesD'accord, quand je l'ai trouvé dans l'index de script, j'ai voulu faire une capture d'écran et partager toutes les nouvelles fonctions Ensemble avec mes collègues - hm...

On pourrait créer une fonction personnalisée et l'appeler via obtenir unique() ...