Formattazione condizionale delle celle in una tabella dati con If-then che opera su più celle di colonna di set di datiCiao esperti,
Cercherò di spiegare al meglio il problema che sto riscontrando.
1. Ho 2 set di dati: uno contenente i valori mediani del lotto A in colonne diverse e uno contenente la deviazione standard di alcuni parametri.
Tabella dei dati mediani

Tabella dati di dev std:

2. Voglio confrontare il valore della colonna risk_lot, il valore della riga value(5) con [baseline(4) + 2*std dev datatable:Lot(2)] e [baseline(4) - 2*std dev datatable:Lot(2)]. Se rientra in questo intervallo, ovvero 0<5<8 per questo esempio, allora voglio colorare la cella risk_lot in verde e se rientra fuori dalla finestra allora in rosso.
3. Ho provato con il codice sottostante ma mi dà l'errore "Impossibile convertire l'argomento in numero", il che mi fa pensare che in qualche modo la mia sintassi sia sbagliata.
4. Ho anche guardato un paio di esempi sul forum, ma non funziona.
5. Ho jmp12.
Per favore aiutatemi. Grazie.
dt_summary<<SELECT where="">formula(column(3)+2*column(dt_std_subset,3)))|(column(i)Mass Customization</SELECT>
Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiL'unico modo in cui sono stato in grado di ottenere una copia di una tabella di dati che ha colore nelle celle da spostare in un diario, è prima di inserire la tabella di dati in una finestra da sola, quindi aggiungere la finestra temporanea con la tabella dei dati al suo interno, dove mai deve essere nel diario finale.Vedere lo script di esempio di seguito

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
:age << color cells( "red", [2, 4, 6, 8] );
temp = New Window( "temp", <<JOURNAL></JOURNAL>
Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiGrazie Jim. Funziona ora. Tuttavia, ora mi sono imbattuto in un altro problema. Voglio che questa tabella di dati con codice colore faccia parte di un rapporto/diario finale insieme ad altri grafici sotto questa tabella. Qualcosa come sotto. Quando provo a utilizzare la casella della tabella dati per aggiungere questa tabella al rapporto, la codifica a colori scompare e non ci sono linee di bordo/griglia. Potete per favore aiutarmi con il codice per ottenere il seguente layout?
[Finestra di analisi finale]
[Tabella riepilogativa codificata a colori con linee della griglia.]
(intestazione= colonna 1)
[Box plot della colonna 1 nella tabella riassuntiva][Trama quantile normale della colonna 1 nella tabella riassuntiva]
(intestazione= colonna 2)
[Box plot della colonna 2 nella tabella riassuntiva][Trama quantile normale della colonna 2 nella tabella riassuntiva]
..
.. e così via.
Grazie
Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiGrazie Jim. Mi scuso per non aver reso la mia domanda molto chiara all'inizio. Immagino che questo sia l'errore che stavo ricevendo quando stavo tentando il ciclo for. Questo è il motivo per cui ho pensato che potesse esserci un modo speciale per puntare a diverse colonne del set di dati utilizzando i loro handle, ma non ho pensato a cosa accadrà verso la fine del ciclo.Lo proverò oggi stesso e ti farò sapere se riscontro problemi.
Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiDevo ammettere che sono confuso, quindi tornerò alla tua voce originale e ricomincerò da capo.Ecco una conversione del codice di colorazione delle celle.Ha 3 modifiche.
- Ho cambiato nCol+1 in N Cols(dt_med_subset).Il tuo codice fallirà con il calcolo originale, perché quando il valore di "i" arriva a nCol+1, il tuo codice cercherà una colonna oltre la fine della tabella di dati e non sarà in grado di trovarla.
- Ho aggiunto riferimenti assoluti sia alle tabelle di dati std che a quelle med
- Ho cambiato For Each Row in un normale ciclo For ().Il codice verrà eseguito più velocemente e fornisce un riferimento più preciso
For( rowNum = 1, rowNum <= N Rows( dt_med_subset ), rowNum++,
For( i = 4, i < N Cols( dt_med_subset, i++,
If(
(Column( dt_med_subset, i )[rowNum] > Column( dt_med_subset, 3 )[rowNum] + 2
* Column( dt_std_subset, 3 )[rowNum]) | (Column( dt_med_subset, i )[rowNum]
< (Column( dt_med_subset, 3 )[rowNum] - 2 * Column( dt_std_subset, 3 )[rowNum]))
,
Column( dt_med_subset, i ) << color cells( "red", rowNum ),
Column( i ) << color cells( "green", rowNum )
)
)
)
);Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiGrazie per il codice. Vedo che il tuo codice fa riferimento alle colonne di riferimento, lotto e lotto di rischio con i loro nomi. Avevo provato a utilizzare nCOL perché il set di dati originale che ho ha 40 colonne come risk lot e voglio evitare di fare riferimento a ciascuna di esse per nome poiché hanno nomi molto lunghi.
Come posso utilizzare un ciclo for su tutte quelle colonne e codificare a colori le intere celle di 40 colonne con la stessa logica delle ultime 3 righe del codice? Immagino che quello che sto chiedendo sia come codificare a colori le intere 40 colonne senza usare nomi di colonne espliciti e usare invece handle/riferimenti a quelle colonne. Per favore fatemi sapere se c'è un modo per farlo?
Grazie
Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiEcco la mia versione del tuo codice.Separo i dati Median e Std Dev, ma poi li unisco nuovamente utilizzando Update.
Names default to here(1);
dt_summary = New Table( "summary",
Add Rows( 4 ),
Set Header Height( 50 ),
New Column( "Analysis Columns",
Character,
"Nominal",
Set Values( {"Test-1", "Test-1", "Test-2", "Test-2"} )
),
New Column( "Statistics",
Character,
"Nominal",
Set Values( {"Median", "Std Dev", "Median", "Std Dev"} )
),
New Column( "baseline",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] )
),
New Column( "risk_lot",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [4, 7, 19, 9] )
)
);
dt_summary << select where( :Statistics == "Std Dev" );
dt_std_subset = dt_summary << subset(
output table( "Std summary" ),
selected rows( 1 ),
selected columns( 0 )
);
dt_summary<<INVERT row="" selection=""></INVERT>
Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di datiCiao Jim,
Grazie per avermi aiutato con questo. Ecco come appare la tabella riassuntiva. Avevo provato la tua soluzione precedente in uno dei post ma non ero in grado di farlo funzionare, quindi ho pensato di inserire questa tabella in std dev e median table. Ho pensato che potesse essere più semplice modificare le celle nella tabella del sottoinsieme mediano facendo riferimento ai valori delle colonne dalla tabella std dev e facendo alcuni semplici calcoli con esso, ma sono rimasto bloccato 
Se c'è un modo più semplice, per favore fatemelo sapere. L'obiettivo finale è avere solo una tabella mediana (sottoinsieme della tabella di riepilogo) con i valori delle celle codificati a colori in base alla logica if-then.
Grazie ancora.

Ri: Formattazione condizionale delle celle in un databile con If-then che opera su più celle di colonne di set di dati- Potresti mostrare come appare la tabella dei dati dt_summary.Il codice che mostri che sta creando le tabelle di dati Median e STD non sembra essere completo nella sua capacità di creare le 2 tabelle come mostri?
- Le tabelle di dati Median e STD sono complete nel numero di colonne che avranno?
- C'è un motivo per cui non stai semplicemente unendo la tabella dei dati Median e STD in un'unica tabella, rendendo la colorazione della cella condizionale un processo più semplice?