Confronta i valori in ogni riga con i valori nella prima riga (limiti)Ciao, ho una riga di limiti con cui vorrei che le altre righe fossero confrontate e che evidenziassero le celle che sono al di sopra di quel limite. Come faccio?
Oppure se qualcuno potesse mostrarmi come selezionare la prima riga, anche questo sarebbe d'aiuto.
Ecco cosa sto provando:
dt = Current Data Table();
dt << select where( :"Value_in"n[Row()] > :"Value_in"n[Row()==0]) << Color Cells("Red");Grazie in anticipo.
Analisi e modellazione dei dati di baseRe: Confronta i valori in ogni riga con i valori nella prima riga (limiti)Benvenuti nella Community.
Ecco un esempio di come affronterei questo

names default to here(1);
dt=New Table( "Example",
Add Rows( 100 ),
New Column( "values",
Formula( Random Integer( 50, 100 ) )
),
New Column( "limit",
Numeric,
Set Values(
[90]
)
)
);
dt:values << color cells(green,dt<<GET rows="" where=""> :limit[1]));</GET>
Re: Confronta i valori in ogni riga con i valori nella prima riga (limiti)Puoi usare l'indicizzazione della tabella dati per selezionare un valore da qualsiasi riga. Inoltre non è necessario selezionare le righe
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
over_limit = dt << Get Rows Where(:weight > :weight[1]);
:weight << Color Cells("Red", over_limit);Re: Confronta i valori in ogni riga con i valori nella prima riga (limiti)Grazie, ho provato qualcosa di leggermente diverso (dato che ho bisogno che la cella :values[0] contenga il valore limite) e ha funzionato. Grazie per aver risposto!
Ecco il mio codice, tra l'altro, anche se non è così elegante, e ne ho più copie per ciascuna delle colonne che voglio confrontare:
::dt = Current Data Table();
For( ::i = 2, ::i <= N Row( ::dt ), ::i++,
If(:"colname_(unit)"n[::i] > :"colname_(unit)"n[1],
:"colname_(unit)"n << Color Cells("Red", ::i);
);
); Re: Confronta i valori in ogni riga con i valori nella prima riga (limiti)2 commenti sulla tua risposta e sul layout della tabella dati.
- L'utilizzo di un ciclo For() è molto inefficiente rispetto all'utilizzo di Get Rows Where()
- Utilizzare una tabella dati JMP come se fosse una tabella dati Excel è problematico. Una tabella dati JMP è progettata per l'analisi. Pertanto, è basata su colonne, non su celle come Excel . Un limite come quello che hai inserito nella tabella obbliga l'utente a dover programmare intorno alle righe univoche. Il modo tipico per gestire elementi come un limite è di averli in una tabella dati separata o di salvarli come una proprietà di colonna. JMP ha una proprietà di colonna Spec Limit che potrebbe essere esattamente ciò che potresti usare e, in caso contrario, puoi creare una nuova proprietà di colonna e inserirla lì.