<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Voglio creare una formula di colonna permanente che selezionerà automaticamente le righe in cui due colonne hanno i dati identici. Quindi utilizzare questa selezione per trovare un valore minimo in una colonna delle righe selezionate. So che posso farlo con un ciclo for e script, c'è comunque solo da incorporare il comando "seleziona righe corrispondenti" in una formula di colonna?
Non sono sicuro di aver capito, ma sembra che tu cerchi il minimo di una variabile (es altezza ) di due colonne di raggruppamento (es età e Age2 ).
Quindi potresti usare questa formula:
Col minimo ( : altezza , : età , : Age2 )
Le tue condizioni "... se non ci sono corrispondenze, allora non elencare nessun minimo ... "non è chiaro per me e la formula sopra riportata restituirà sempre un minimo poiché ci sarà almeno una" corrispondenza ", cioè la riga stessa. La formula seguente dovrebbe restituire un valore mancante anziché il "minimo" se c'è una sola occorrenza di una combinazione di età e Age2.
Se ( Numero Col ( : altezza , : età , : Age2 ) > 1 ,
Col minimo ( : altezza , : età , : Age2 )
)
Byron,
Non proprio. Devo sapere quando due insiemi corrispondono: Esempio:
Nella riga 1 - Età = 12, Età2 = 13, mostrami altre righe in cui Età = 12 e Età2 = 13 nella stessa riga, e ciò potrebbe verificarsi 20 volte nella tabella, quindi tra quelle 20 volte, scegli la colonna minimo da solo quelle 20 righe.
Ora vai alla riga 2 e fai lo stesso confronto per i suoi valori, se non ci sono corrispondenze, non elencare nessun minimo.
Stai cercando di fare qualcosa del genere?
In questo caso quando: age =: age2, allora ottengo una variabile indicatore. Usando col minimo () posso ottenere l'altezza minima, per età, per indicatore (ma solo quando l'indicatore non è mancante)
(esegui questo script e dai un'occhiata alle formule del tavolo)
dt = Open ("$ SAMPLE_DATA / Big Class.jmp");
dt << Nuova colonna ("età 2",
Numerico,
"Continuo",
Formato ("Migliore", 12),
Imposta valori (
[14, 12, 13, 13, 13, 14, 12, 15, 13, 12, 14, 14, 13, 15, 14, 12, 14, 15, 13, 13, 14, 15,
15, 15, 14, 15, 12, 15, 15, 15, 14, 13, 15, 15, 14, 15, 12, 14, 13, 13]
)
);
dt << Nuova colonna ("età == anni 2",
Numerico,
"Nominale",
Formato ("Migliore", 12),
Formula (If (: age ==: age 2, 1,. )),
Imposta selezionato
);
dt << Nuova colonna ("altezza minima in cui età = età2",
Numerico,
"Nominale",
Formato ("Migliore", 12),
Formula(
Se (Mancanza (: Nome ("età == età 2")) == 0,
Col minimo (: altezza,: età,: nome ("età == età 2")),
.
)
)
);