さまざまな式を使用してデータを操作し、出力を最後の1列に格納する必要があります。式を正しく適用し、データを新しい列に格納できますが、同じ列には格納できません。
例えば、
この表では、

USL値が存在するセルに数式(abs(除算(効果、減算(USL、平均)))* 100))を使用しています。
LSL値が存在する式(abs(除算(効果、減算(平均、LSL)))* 100))。しかし、列名、LSL、およびUSLが空のセルの場合は、式を使います。Formula(Divide(abs(Effect))、Mean);
私が現在取り組んでいるスクリプトは次のとおりです。
dtq = Open("path\formula.jmp");
a = dtq << New Column("Final", Formula(abs(Divide(Effect,Subtract( USL,Mean)))*100));
//);
//:Final << Formula(abs(Divide(Effect,Subtract( USL,Mean)))*100);
b = dtq << New Column("Final1",Formula(abs(Divide(Effect,Subtract( Mean,LSL)))*100));
If( Is Empty( dtq << ColumnName ),
:Final << Formula(Divide(abs(Effect)), Mean);
);
show(b);
私が今得た出力は、次のとおりです。

これに対して、Final1の値は同じ列に入れます。また、
スクリプトのこの部分:
If( Is Empty( dtq << ColumnName ),
:Final << Formula(Divide(abs(Effect)), Mean);
);
エラーは表示されませんが、同様に機能していません。助けてくれてありがとう。
@Dan_Obermiller 解決していただきありがとうございます。同じ数式を実行したいテーブルが多すぎるので、スクリプトで実行したほうが良いでしょう。迅速な解決策をどうもありがとう。
行に:LSLと:USLの両方が欠落していないと決して含まれないと仮定すると、これはあなたが説明したすべてのケースを扱うでしょう:
If(
!Is Missing( :LSL ), Abs( :Effect / (:Mean - :LSL) ) * 100,
!Is Missing( :USL ), Abs( :Effect / (:USL - :Mean) ) * 100,
Is Missing( :ColumnName ), Abs( :Effect ) / :Mean
)
これは私には少し複雑すぎるようです。すべての計算は単一の式列に入れることができます。
もし(
行方不明(:LSL)および行方不明(:USL)、Abs(:効果/:平均)、
行方不明(:LSL)、Abs(:効果/(:USL - :平均))* 100、
行方不明(:USL)、絶対数(:効果/(:平均 - :LSL))* 100
)
スクリプト化する必要はありません。対話的には次のようになります。

そしてそれはこれらの結果を与える:
