Automatizza l'ottimizzazione (script) per "ogni riga" utilizzando Custom ProfilerCiao, ho un cliente @Solvay che utilizza Custom Profiler.
Il suo obiettivo è esaminare ogni riga per la quale le prestazioni sono inferiori alle specifiche, ottenere i valori dei fattori, bloccare i fattori su cui non ha controllo e ottimizzare le prestazioni utilizzando i fattori su cui ha il controllo, quindi salvare le nuove impostazioni e le prestazioni previste .
Questo può essere fatto manualmente ma sfortunatamente il Log non salva il codice corrispondente.
Dato che ha un grande datatable, vorrebbe scrivere il processo per automatizzarlo.
Qualcuno conosce il codice corrispondente?
nota: questo dovrebbe apparire nella community di JMP nei prossimi giorni, immagino.
Emanuele
Oggetto: automatizzare l'ottimizzazione (script) per "ogni riga" utilizzando Custom ProfilerEcco uno script per farlo bloccando solo una variabile. Per eseguire il blocco di più variabili, è necessario nidificare più cicli For:
dt = open ("$SAMPLE_DATA\Body Fat.jmp");
dt << New Column ("Formula", Set Formula (109.665262588823 + 0.329339426252964 * :"Weight (lbs)"n +
-1.47623913006859 * :"Height (inches)"n + -0.492211525467987 *
:"Neck circumference (cm)"n + -1.41262250197006 *
:"Wrist circumference (cm)"n + (:"Height (inches)"n
-70.1488095238095) * ((:"Height (inches)"n - 70.1488095238095) *
-0.0306978267773712) + (:"Height (inches)"n - 70.1488095238095) * ((
:"Neck circumference (cm)"n - 37.9920634920635) * -0.121564139238233)
+ (:"Neck circumference (cm)"n - 37.9920634920635) * ((
:"Neck circumference (cm)"n - 37.9920634920635) * -0.127296845579246)));
dt:Formula << Set Property ("Response Limits", {Goal( Match Target ), Lower (20, .05), Middle (25, 1), Upper (30, .05)});
prof = dt << Profiler ( Y(:Formula));
for (i = 60, i <= 74, i++,
prof << Term Value ("Height (inches)" (i, Lock (1)) );
prof << Maximize and Remember;
);
Oggetto: automatizzare l'ottimizzazione (script) per "ogni riga" utilizzando Custom ProfilerInvece di (oltre a?) nidificare i loop e usare "Mazimize and Remember", c'è anche il messaggio "Maximize for Each Grid Point" che potrebbe essere esplorato.
Oggetto: automatizzare l'ottimizzazione (script) per "ogni riga" utilizzando Custom ProfilerStavo giocando con un'idea per fare qualcosa del genere.
Names Default To Here( 1 );
// comment out the nexct line if the script is pasted into a table
dt = Open( "AutoProfiler Tiretread.jmp" );
// uncomment the next line if the script is pasted into a table
//dt=current data table();
//This is where your profiler script goes
obj = dt << Profiler(
Y(
:Pred Formula ABRASION,
:Pred Formula MODULUS,
:Pred Formula ELONG,
:Pred Formula HARDNESS
),
Profiler(
1,
Term Value(
SILICA( 1.25, Lock( 0 ), Show( 1 ) ),
SILANE( 50, Lock( 0 ), Show( 1 ) ),
SULFUR( 2.25, Lock( 0 ), Show( 1 ) )
),
Simulator(
1,
Factors(
SILICA << Random( Normal( 1.25, 0.3266 ) ),
SILANE << Random( Normal( 50, 6.532 ) ),
SULFUR << Random( Normal( 2.25, 0.3266 ) )
),
Automatic Histogram Update( 1 )
)
)
);
//your profiler goes above here
obj << Simulator( 1 );
obj2 = obj << Get Simulator;
obj2 << Automatic Histogram Update( 1 );
For( i = 1, i <= N Rows( dt ), i++,
obj << Set to Data in Row( i );
obj << Remember Settings(Column(1)[i]); //"Column(1)[i]" is the firtst column of the table, ith row
);//end of for loop
obj<<DISPATCH></DISPATCH>
Esegue il profiler e salva le impostazioni per tutte le righe della tabella. Il tuo cliente dovrebbe creare un sottoinsieme delle righe dei difetti e quindi eseguire uno script come questo.

Oggetto: automatizzare l'ottimizzazione (script) per "ogni riga" utilizzando Custom ProfilerGrazie ad entrambi 