変数による JMP スクリプトでの値の順序付け<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは皆さん、
データセットでは、棒グラフの x 軸変数として Set という列を使用します。最小の応答値から最大の応答値の順に並べ替えて、バーの長さが増加するようにしたいと考えています。たとえば、次のデータがあるとします。
応答を設定する
A5
B-7
C10
棒グラフの順序を B、A、C にしたいと思います。明らかに、次のようにプロパティを設定できます。
Set < {"B", "A", "C"}) ですが、名前をハードコードせずにこれを実行しようとしています。値の順序付けを変数ごとに、具体的には応答ごとに実行できるようにしたいと考えています。これを、何度も変更することなく複数のデータセットに適用できる標準スクリプトにしたいと考えています。
よろしく、
マイケル。
Re: 変数による JMP スクリプトでの値の順序付け参考までに、JMP 16 で値の順序付けを追加するには、形式を次のように変更する必要がありました。
:col << Set Property(
"Value Ordering",
Eval(myList)
);
Re: 変数による JMP スクリプトでの値の順序付け最初のケースでは、リストには変数名のみが含まれます。 Eval List は各変数を単純に評価します。 2 番目のケースでは、リストには Set Property メッセージ全体のコンテキストでのみ意味のあるもの (LSL、USL、ターゲット) が含まれています。 Eval List はそのコンテキストについて知らないため、最初に表示される LSL をどうすればよいのかわかりません。 その場合は、他のケースで作成したより複雑な式を使用する必要があります。
lLimit = 55;
uLimit = 70;
tLimit = 62.5;
Eval(
Eval Expr(
:height << Set Property(
"Spec Limits",
{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) )}
)
)
);Re: 変数による JMP スクリプトでの値の順序付け素晴らしい! このケースではそれがうまくいくことがわかりました。 しかし、仕様限界の場合、そのリストは評価されないのでしょうか? リストを評価するときに、LSL 引数が気に入らないようだというエラーが表示されます。
l制限 = 55 ;
uリミット = 70 ;
tリミット = 62.5 ;
:高さ <<プロパティの設定( 「スペックの限界」 、
評価リスト({LSL(lLimit), USL(uLimit), Target(tLimit)}));
Re: 変数による JMP スクリプトでの値の順序付けまたは、Eval List を使用してリストのすべてのメンバーを評価することもできます。
:sex << Set Property("Value Ordering",Eval List({my1,my2}));Re: 変数による JMP スクリプトでの値の順序付け値の順序付けに関する同様の問題があるため、このスレッドに返信しています。JMP 12 または JMP 13 の JSL の列プロパティに Expr と Eval Expr をいつ使用するかがまだわかりません。 一般的な形式は機能するはずです。
:設定<<プロパティの設定( 「値の順序付け」 、評価( {私のリスト} ) ) ;
:設定<<プロパティの設定( 「値の順序付け」 、評価( {my1,my2} ) ) ;
Big Class データで、列 :sex を「F」の前に「M」を置くように設定してみます。
私の1 = 「ま」 ;
私の2 = 「ふ」 ;
:セックス<<プロパティの設定( 「値の順序付け」 、評価( {私の1 、私の2 })) ;
ただし、「M」と「F」の代わりに「my1」と「my2」というテキストが挿入されます。
仕様制限を列プロパティとして追加する方法の投稿をコピーしました。 http://www.jmp.com/support/notes/46/953.html
表示する文字変数を取得するには、Expr と Eval Expr を使用する必要があるようです。 この部分だけを試してみると次のようになります。
:セックス<<プロパティの設定( 「値の順序付け」 、 {エクスプレッション(私の1 ) 、エクスプレッション(私の2 )})
列プロパティにテキスト「Expr」と「Expr」が表示されます。 Eval Expr を Expr に含めると、正しいフレーズがログに返されます。
評価式(
:セックス<<プロパティの設定( 「値の順序付け」 、 {エクスプレッション(私の1 ) 、エクスプレッション(私の2 )})
) ;
戻り値:
:sex << Set Property( "値の順序", {"M", "F"} )
最後に、このコード全体が列プロパティを正しく設定します。
評価(
評価式(
:セックス<<プロパティの設定( 「値の順序付け」 、 {エクスプレッション(私の1 ) 、エクスプレッション(私の2 )})
)
) ;
仕様制限の投稿の説明は、「列は、指定された引数の評価や検証を行わずに、指定された値を持つ列プロパティを格納します。 変数を含む JSL コードを使用して列プロパティを追加するには、スクリプトで変数を実際の値に変換する必要があります。
Re: 変数による JMP スクリプトでの値の順序付け以下のアプローチの方が優れています (ワンライナーは楽しいですが、十分であることはほとんどありません...)。 同点がある場合や、各レベルに複数の値があり、値の順序付けが各レベルの平均応答などに基づいている場合でも機能するはずです。
要約する( g =に( :設定) 、メートル=平均( :応答) ) ;
:設定<<プロパティの設定( 「値の順序付け」 、評価( g [ランクインデックス(メートル)] ) ) ;
Re: 変数による JMP スクリプトでの値の順序付けこのアプローチは上記の例で機能するはずです。 ただし、2 つ以上のレベルがまったく同じ応答を持つ場合、失敗することに気づきました (結合されたレベルのうち 1 つだけがリストに表示されます)。
:設定<<プロパティの設定( 「値の順序付け」 、評価(連想配列( :応答、 :設定) <<値を取得する) ) ;