JSL Script per cambiare il nome della colonna nella formula con la formula reale dalla colonna corrispondenteCiao a tutti
Cerco di automatizzare il processo in cui voglio cambiare il nome della colonna in una formula (ad esempio "Lower 90% Indiv TiterHPLCProtA@D14" con la formula "reale" di questa colonna (seconda immagine).
Voglio ripetere questo processo per tutti i nomi di colonna all'interno della prima immagine.
Lo script avrebbe bisogno di qualcosa del tipo:
- Trova tutti i nomi di colonna all'interno della prima formula
- Inizia con il nome della prima colonna
- Trova la colonna corrispondente all'interno della tabella dati e copia la formula
- sostituire il nome della colonna nella prima formula con la formula della colonna
- ripeti questo processo finché tutti i nomi di colonna nella prima formula non sono stati sostituiti con la loro formula "reale".
Formula della prima colonna

un esempio della formula che voglio inserire nella prima colonna formula, sostituendo "[...]TiterHPLCProtA[...]"

Ti auguro il meglio!
/ Marco
Consumatori e ricerche di mercatoQualità e ingegneria di processoRi: JSL Script per cambiare il nome della colonna nella formula con la formula reale dalla colonna corrispondenteGrazie mille a tutti e due! Era proprio quello che stavo cercando!
Ri: JSL Script per cambiare il nome della colonna nella formula con la formula reale dalla colonna corrispondenteCOME @pauldeen ha sottolineato che è possibile profilarlo utilizzando le formule intermedie di espansione, ma è possibile fare un ulteriore passo avanti e utilizzare l'opzione di salvataggio delle formule delle formule espanse in quel profiler per risolvere tutti quei riferimenti in una nuova formula di colonna.

Per esempio:
Names Default To Here( 1 );
dt = Open( "$Sample_data/iris.jmp" );
dt << New Column("Log[Petal width]", Numeric, "Continuous", Format("Best", 12), Formula(Log(:Petal width)));
dt << New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Formula(:Sepal length + :Sepal width + :"Log[Petal width]"n));
prof = Profiler(
Y( :Column 1 ),
Profiler(
1,
Term Value(
Sepal length( 6, Lock( 0 ), Show( 1 ) ),
Sepal width( 3.125, Lock( 0 ), Show( 1 ) ),
Petal width( 1.269, Lock( 0 ), Show( 1 ) )
)
),
Expand
);
col = prof << Save Expanded Formulas;
Se vuoi farlo tramite script, hai diverse opzioni.Inizierei con un ciclo for che cercherebbe un riferimento a una colonna, verificherei se quella colonna ha una formula e quindi userei il comando sostitutivo per inserirla.Fai un tentativo e pubblicalo qui se rimani bloccato.
Ri: JSL Script per cambiare il nome della colonna nella formula con la formula reale dalla colonna corrispondentePuoi farlo con alcune tecniche di scripting avanzate:
Dovrai seguire il nome della colonna fino alla colonna,
Formula_expression = Column << get formula
Quindi puoi sostituire i riferimenti di colonna con l'espressione della formula.
Quindi guarda in expr(), chiama expr() e sostituisci into().
Se l'unico motivo per cui lo fai è per l'uso in Profiler, puoi semplicemente attivare la casella di controllo qui:
