やあみんな
1 つの式の列名を変更するプロセス (つまり、この列の「実際の」式を使用して「Lower 90% Indiv TiterHPLCProtA@D14」) を変更するプロセスを自動化しようとします (2 番目の図)。
最初の図内のすべての列名に対してこのプロセスを繰り返したいと思います。
スクリプトには次のようなものが必要です。
- 最初の式内のすべての列名を検索します
- 最初の列名から開始します
- データテーブル内で対応する列を見つけて、式をコピーします。
- 最初の式の列名を列式に置き換えます
- 最初の式のすべての列名が「実際の」式に置き換えられるまで、このプロセスを繰り返します。
最初の列の式

「[...]TiterHPLCProtA[...]」を置き換えることによって、最初の列の式に挿入したい式の一例

ではごきげんよう!
/マルコ
お二人とも本当にありがとうございました! それはまさに私が探していたものでした!
として@ポールディーン中間式の展開を使用してこれをプロファイリングできますが、さらに一歩進んで、そのプロファイラーの展開された式の式の保存オプションを使用して、新しい列式内のすべての参照を解決することができます。

例えば:
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;
これをスクリプトで実行したい場合は、いくつかのオプションがあります。まず for ループで列参照を検索し、その列に数式があるかどうかを確認してから、substitute コマンドを使用して数式を挿入します。試してみて、行き詰まったらここに投稿してください。
これは、いくつかの高度なスクリプト技術を使用して行うことができます。
列名を列までたどる必要があります。
Formula_expression = Column << get formula
その後、列参照を数式で置き換えることができます。
したがって、 expr() を調べ、 expr() に名前を付け、 into() に置き換えます。
これを行う唯一の理由がプロファイラーで使用するためである場合は、ここでチェック ボックスをオンにするだけです。
