以下は dt の myCol に対して機能します。 myCol は数値であり連続的です
Names Default To Here (1);
dt = Current Data Table();
dt:myCol<< Set Property("Axis", {Min(0.02), Max(10.05), Inc( 0.01 ), Minor Ticks( 1 )});
ただし、次の場合は JMP (v 16.2.0) がクラッシュします。 私のどこが間違っているのでしょうか?
ll = 0.02;
ul = 10.05;
dt:Cgd << Set Property( "Axis", {Min(ll), Max(ul), Inc( 0.01 ), Minor Ticks( 1 )});以下のようにチェックすると問題が表示されます(mCol のプロパティをチェックしようとするときに添付を参照してください)が、これを修正する方法についてはアイデアがありません。
AxLim1 = dt:Cgd << Get Property ("Axis"); show (AxLim1);レポート
AxLim1 = {Min(ll), Max(ul), Inc(0.01), Minor Ticks(1)};これは私に欠けている単純なものだと思います。 どの方向でも非常に役立ちます。
JMP は変数を評価しません。 この回避策を試してください。
ll = 0.02;
ul = 10.05;
Eval(
Substitute(
Expr( dt:myCol << Set Property( "Axis", {Min(lll), Max(uuu), Inc( 0.01 ), Minor Ticks( 1 )}) ),
Expr( lll ), ll,
Expr( uuu ), ul
)
);@Mark_Bailey
ありがとう。 回避策は機能しているようです。 スクリプトのステップ/機能について説明をいただけますか?
元のスクリプトでは、Set Property メッセージの引数に変数を指定していました。 先ほども述べたように、この場合、JMP はそれらを評価しません。 これにより、列プロパティのパラメータとして式を確立できます。 パラメーターには定数値が必要なので、変数の代わりに変数をリテラル値に変換する必要があります。 内側から外側に向かって作業し、プレースホルダーを使用して目的の表現のテンプレートを作成します (つまり、 llとうーん) リテラル値の場合。 変数を評価してリテラル値を置き換えます (つまり、 llとウル) プレースホルダー用。 最後に、結果の式を評価します。 Substitute() 関数を選択して評価すると、この動作を確認できます。