Ottieni oggetti uniciCosa ti ha ispirato a richiedere questa lista dei desideri?
Ho ripetutamente avuto bisogno di ottenere un elenco di elementi univoci da una colonna o da un elenco e sarebbe bello avere una funzione JMP integrata e/o un messaggio che semplificasse questa operazione.
Quale miglioramento vorresti vedere?
Il mio suggerimento è duplice:
- crea un nuovo messaggio "<< ottieni elementi univoci" che può essere passato a una colonna della tabella dati o a una casella di testo stringa/casella di modifica testo stringa che restituirebbe un elenco dei valori univoci in quell'oggetto
- creare una nuova funzione JSL "Ottieni elementi univoci (elenco)" che farebbe la stessa cosa per un elenco
Perché questa idea è importante?
In realtà, serve principalmente per una certa efficienza di codifica e leggibilità del codice JSL. Il modo più efficiente per ottenere l'elenco degli elementi univoci da un elenco è usare
list={"a", "b", "a", "c", "a", "d"};
unique_items=(Associative Array(list) << get keys);
l'alternativa sarebbe un po' più semplice e leggibile
unique_items = Get Unique Items(list);
Allo stesso modo, per ottenere un elenco di elementi univoci da una tabella dati
// 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>
Automazione e scriptingRe: Ottieni oggetti unicisarà:
col N unique (column)
con la possibilità aggiuntiva di ottenere più contatori tramite argomenti groupBy:
Categorie Col N - e tutti gli altri ...
super cool: la possibilità di migliorare la funzionalità tramite scoping
Trasforma colonne: comodo come le statistiche riassuntive?
Re: Ottieni oggetti unici - Stato modificato in: Sì, resta sintonizzato!Sì, come ha affermato @hogi , questa funzione sarà disponibile in JMP 19.
col N unique (column)
Ri: Ottieni oggetti uniciE riguardo
unique_items = Get Unique Items(list);
arriverà anche questo?
Ri: Ottieni oggetti uniciNon so se può essere utile, ma ecco come faccio:
- Seleziona le colonne da cui vuoi ottenere gli elementi univoci
- Righe -> Selezione riga -> Seleziona righe duplicate
- Righe -> Selezione riga -> Inverti selezione riga
- Copia
Ora gli appunti di sistema hanno un elenco univoco di elementi in quella colonna. Consiglio: imposta le scorciatoie da tastiera per gli elementi n. 2 e n. 3 e avrai l'elenco in un paio di secondi.
Ri: Ottieni oggetti uniciBel trucco!
Un'altra soluzione alternativa è l'utilizzo di array associativi (come descritto nel post originale).
Un'altra opzione è quella di utilizzare Riepilogo(vociuniche=by(mycol)) .
Tutti questi metodi funzionano. Ancora meglio:
Quando lo sai, ricordalo, raccontalo ai tuoi colleghi: ti sentirai realizzato!
È davvero gratificante!
Ma dopo aver rivelato il segreto al 101° collega...
Ti chiedi se qualcosa del genere:
unique_items = Get Unique Items(list);
column << get Unique Items()
potrebbe rendere la vita più semplice.
... forse come wrapper per l'approccio Associative Array?
Ri: Ottieni oggetti unici@Sarah-Sylvestre , potresti modificare lo stato del desiderio?
Mi dispiace, "colpa mia".
col N unique (column)
è molto utile, ma non è ciò che @MathStatChem ha suggerito nel suo augurio.
Re: Ottieni oggetti unici - Stato modificato in: RiconosciutoRe: Ottieni oggetti uniciOpen( "$SAMPLE_DATA/Big Class Families.jmp" );
show(set unique(:name << get values());
Row() = 1;
Show( Set Unique( :sports ) );

Re: Ottieni oggetti uniciQuesta soluzione fornisce una soluzione parziale. Tuttavia, non preferisco particolarmente il nome della funzione. "Set" è usato principalmente in JSL per impostare valori o proprietà, quindi "Set Unique" implica che qualcosa venga "impostato". Tutte le funzioni di elenco "Set" (Set Unique, Set Union, Set Difference, Set Intersection) presentano questo problema. Preferirei che il nome della funzione fosse in ordine inverso (ad esempio, Unique Set, Union Set, Difference Set, Intersection Set).
Set Unique( ) richiede ancora un po' di codice JSL aggiuntivo per fare ciò che volevo. Per le colonne della tabella, è necessario selezionare le righe specifiche (utilizzando l'indicizzazione o passando << valori get alla colonna all'interno della funzione (Set Unique(:col[a::b]) o Set Unique(:col << valori get)), e anche per le caselle di colonna è necessario utilizzare un messaggio get.
Ma è una bella aggiunta all'elenco delle funzioni JSL.
Re: Ottieni oggetti uniciD'accordo, quando l'ho trovato nell'indice degli script, ho voluto fare uno screenshot e condividere tutte le nuove funzioni Impostato con i miei colleghi - hm ...

Si potrebbe creare una funzione personalizzata e chiamarla tramite ottenere univoco() ...