Come selezionare e colorare le prime 5 celle con il valore più alto da molte colonne utilizzando JSLCiao esperti,
Come faccio a selezionare e colorare le prime 5 celle con il valore più alto da molte colonne utilizzando JSL?
Esempio:
Da tutte le celle nella colonna Type_A a Type_D (la somiglianza di questi nomi di colonna è che contiene "_")
Voglio selezionare e colorare di giallo le prime 5 celle con il valore più alto.
Sembra che la funzione "Seleziona dove" sia applicabile solo al confronto di 2 colonne.
Il risultato atteso dovrebbe essere qualcosa del genere;
0.14, 0.12,0.11,0.1, 0.9 sono le prime 5 celle con il valore più alto.

Grazie.
Sto usando JMP 17.2
Automazione e scriptingRe: Come selezionare e colorare le prime 5 celle con il valore più alto da molte colonne utilizzando JSLCome desideri gestire i legami?
Re: Come selezionare e colorare le prime 5 celle con il valore più alto da molte colonne utilizzando JSLOttieni i nomi delle colonne per tutte le colonne che intendi cercare.
Aggiungi una nuova colonna che contiene il numero di riga
Impila tutte le colonne in cui desideri eseguire la ricerca. Assicurati di mantenere la colonna Riga
Ordina la tabella dati in pila in ordine decrescente della colonna Dati
Passa in rassegna le prime 5 righe della tabella ordinata e imposta il colore della cella nella tabella originale in base alla colonna Etichetta (nome della colonna nella tabella originale) e alla colonna Riga.
Elimina le tabelle di dati impilate e ordinate
Elimina la colonna Riga dalla tabella dati originale
Re: Come selezionare e colorare le prime 5 celle con il valore più alto da molte colonne utilizzando JSLCiao @jthi ,
Pensavo che avessimo una formula come =Top(5, column("Type_A"):column("Type_D) << Color Cell (3);
Dove 5 si riferisce al numero di valori Primi dalla colonna Tipo A alla colonna Tipo D.
Proverò la soluzione @txnelson .
Grazie !
Re: Come selezionare e colorare le prime 5 celle con il valore più alto da molte colonne utilizzando JSLEsiste un'opzione che utilizza le matrici (la soluzione interattiva suggerita da Jim è molto più facile da capire ed è stata anche la prima idea che mi è venuta in mente)
Names Default To Here(1);
// This table shows how this will behave with ties
// dt = Open("$SAMPLE_DATA/2D Gaussian Process Example.jmp");
// cols_of_interest = {"X1", "X2"};
dt = Open("$SAMPLE_DATA/Pogo Jumps.jmp");
cols_of_interest = {"Yat", "Yee", "Sam"};
m = dt[0, cols_of_interest];
v = Shape(m, N Items(m));
r = Ranking(v); // let Ranking decide our top5
idx = Loc(r > N Items(m) - 5);
vals = J(1, N Items(m), .);
vals[idx] = 1;
vals = Shape(vals, N Items(m) / N Items(cols_of_interest));
For(i = 1, i <= N Cols(vals), i++,
rows_to_color = Loc(vals[0, i]);
Column(dt, cols_of_interest[i]) << Color Cells("Yellow", rows_to_color)
);
Write();
Pogo Jumps.jmp - Yat, Yee, Sam

Esempio di processo gaussiano 2D.jmp - X1, X2 (notare il comportamento con i legami)
