ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneCIAO
Ho bisogno di alcuni consigli di scripting poiché sono state apportate modifiche alle proprietà della colonna da JMP14 a JMP15 per quanto riguarda l'ordinamento dei valori, introducendo "ordine personalizzato"
Il seguente script funziona correttamente in JMP 14 e il risultato può essere visto controllando le proprietà della colonna
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
// JMP 14 Script for value ordering column "BatchVO" in the Order of the values in column "Timestamp"
:BatchVO << Set Property( "Value Ordering", Eval( g[Rank Index( m )] ) );
Lo script sopra funziona in JMP15 ma il risultato non è visibile nelle proprietà della colonna - immagino - a causa del nuovo "ordine personalizzato"
Qualcuno sa come cambiarlo per farlo funzionare E il risultato visibile nelle proprietà della colonna in JMP15?
Quanto segue non funziona.
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
//JMP15 Script
:BatchVO << Set Property( "Value Order", {Custom Order(Eval( g[Rank Index( m )] ))} );Qualche idea sullo script JSL corretto per JMP15 e versioni successive?
@martindemel
Automazione e scriptingOggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonnefoto1

foto2

Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneCiao Jim, ho a che fare con un problema simile con il formato di ordinamento dei valori nello script; Devo essere in grado di deselezionare l'ordine del cliente e mantenerlo nel livello dell'ordine di riga per tabella di dati. Il tuo aiuto è molto apprezzato
Ecco la parte dello script in cui seleziono le colonne da impilare.
dt = Current Data Table();
dt1 = Data Table( dt ) << Stack(
columns( :Data Target, :Data1, :Data2, :Data3, :Data4, :Data5, :Best Data, ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Drop All Other Columns( 1 ),
);
Quando eseguo il mio script ottengo il grafico con i dati in ordine alfabetico, vedi pic1 dove mostra i migliori dati a sinistra
Voglio avere il valore ordinato in modo tale che
1) Potrei deselezionare la casella Ordine cliente
2) Controllare i livelli dell'ordine di riga
in questo modo il grafico arriva nello stesso ordine nella tabella dello stack come nella foto 2 dove il target dei dati si trova all'estrema sinistra del grafico.
Grazie
Sam
Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneLa colonna a cui stai tentando di applicare i limiti di specifica è di un tipo di dati carattere., Devi cambiarlo in numerico.Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneVedere il messaggio di errore allegato.

Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneQual è il messaggio di errore nel registro?Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonnePuoi aiutarmi su questo .. funziona bene usando V13 ma quando eseguo l'aggiornamento a V15 viene ancora visualizzato un errore nell'impostazione dei limiti delle specifiche.
btw, la funzione di questo è unire 2 o più file csv usando la 3a alla 5a riga come specifiche. Grazie!
Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneDopo aver commentato la tua riga Aggiungi codice grafico (non hai incluso l'oggetto dlgStatus) il tuo codice ha funzionato correttamente per i miei dati di esempio.Quindi, se non funziona per il tuo codice, sospetto che ci sia una mancata corrispondenza tra il nome delle colonne nel tuo datatable e la colonna della descrizione nel tuo spectable.
Names Default To Here( 1 );
datatable = Open( "$SAMPLE_DATA/big class.jmp" );
spectable = New Table( "specs",
Add Rows( 2 ),
New Column( "Description", Character, "Nominal", Set Values( {"height", "weight"} ) ),
New Column( "LSL", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [52, 61] ) ),
New Column( "USL", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [70, 175] ) ),
New Column( "Units", Character, "Nominal", Set Values( {"Inches", "Pounds"} ), Set Display Width( 56 ) )
);
For( r = 1, r <= N Rows( spectable ), r++,
specname = spectable:Description[r];
Try(
dtcol = Column( datatable, specname ),
//write("No data for \!"" || specname|| "\!"");
Continue()
);
//write("Setting spec for \!"" || specname|| "\!"\!r");
If( Not( Is Missing( spectable:LSL[r] ) ) | Not( Is Missing( spectable:USL[r] ) ),
Eval(
Substitute(
Expr(
dtcol << Set Property( "Spec Limits", {LSL( _L ), USL( _U ), Show Limits( 1 )} )
),
Expr( _L ), spectable:LSL[r],
Expr( _U ), spectable:USL[r]
)
)
);
If( spectable:Units[r] != "",
Eval( Substitute( Expr( dtcol << Set Property( "Units", _U ) ), Expr( _U ), spectable:Units[r] ) )
);
progress = Floor( (r / N Rows( spectable )) * 100 );
//dlgStatus[FrameBox( 1 )] << Add Graphics Script( {Fill Color( "blue" ), Rect( 0, 1, progress, 0, 1 )} );
Wait( 0.001 );
);Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneChe ne dici di questo. Sono bloccato in Set Property for Spec Limits. Grazie per l'aiuto
for (r = 1, r <= N Rows(spectable), r++,
specname = spectable:Description[r];
try(
dtcol = Column(datatable, specname);
,
//write("No data for \!"" || specname|| "\!"");
Continue()
);
//write("Setting spec for \!"" || specname|| "\!"\!r");
if(not(ismissing(spectable:LSL[r])) | not(ismissing(spectable:USL[r])),
eval(substitute(expr(dtcol << Set Property("Spec Limits", {LSL(_L), USL(_U), Show Limits(1)})),
expr(_L), spectable:LSL[r],
expr(_U), spectable:USL[r]
));
);
if(spectable:Units[r] != "",
eval(substitute(expr(dtcol << Set Property("Units", _U)),
expr(_U), spectable:Units[r]
));
);
progress = floor((r / N Rows(spectable)) * 100);
dlgStatus[FrameBox(1)] << Add Graphics Script({Fill Color("blue"),Rect(0,1,progress,0,1)});
wait(0.001);
);Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneGrazie mille.
Ora è visibile nel menu delle proprietà della colonna: fantastico.Oggetto: ordinamento dei valori: utilizzo di JSL per impostare le proprietà delle colonneI valori restituiti dal riepilogo per la variabile "g" vengono restituiti come stringhe di caratteri e si sta tentando di applicare i valori della stringa di caratteri a una colonna numerica
Il codice qui sotto sembra fare quello che vuoi
names default to here(1);
Summarize( g = by( :BatchVO ), m = Mean( :name("Timestamp") ) );
for(i=1,i<=nitems(g),i++,
g[i]=num(g[i])
);
//JMP15 Script
eval(substitute(expr(:BatchVO << Set Property( "Value Order", {Custom Order(__list__)} );),
expr(__list__), g[Rank Index( m )] ));