メディアン大佐(実際は補欠) - どうしたの?このファイルの何が問題なのかわかりません。
高さ_相対そして高さ_相対値 2全く同じ式を持っています。
しかし、高さ_相対値 2値が欠落しています。
ファイルを保存する前に、数式エディターから、ファイル内の引数が少なすぎるというメッセージが表示されました。コル中央値機能。
数式エディターをダブルクリックし、[OK]、[OK]、[OK] をクリックしてすべてのウィンドウを閉じると、数式エディターにすべてが正常であることを認識させることができます。
ファイルを保存した後は、これはできません。 式を復活させる方法が見つかりませんでした。
列をコピーして貼り付けると、コピー大丈夫です。
データのブレンディングとクリーンアップRe: メディアン大佐 - 何が問題ですか?関連するコミュニティのディスカッション:
動的に作成された式が評価されない
Re: メディアン大佐 - 何が問題ですか?さらに謎を少し追加すると、置換関数のうち 1 つだけが「()」を含む必要があるようです。そのため、以下の両方の式が機能します。
編集: さらに詳しく調べてみると、JMP は置換に "()" を付けずに渡された式の関数を 1 つだけ許容するようです。 さらに 3 つの数式が下部にあり、既存の式の周囲に別の関数をラップしています。この式は、括弧で置き換えられた任意の 2 つの関数で正しく動作します。 JMP には、式を合法にするために式について推論を行う内部パスがあり、調整が 1 回だけ行われ、その後壊れるのではないかと思われます。
myFormula3 = Expr(__myHead__( :height, __aggregation__( :height ) ));
Substitute Into( myFormula3,
Expr( __myHead__ ), Expr( Divide() ),
Expr( __aggregation__ ),Expr( Col Median )
);
myFormula4 = Expr(__myHead__( :height, __aggregation__( :height ) ));
Substitute Into( myFormula4,
Expr( __myHead__ ), Expr( Divide ),
Expr( __aggregation__ ),Expr( Col Median() )
);
myFormula5 = Expr(__top__(__myHead__( :height, __aggregation__( :height ) )));
Substitute Into( myFormula5,
Expr(__top__), Expr(Log),
Expr( __myHead__ ), Expr( Divide),
Expr( __aggregation__ ),Expr( Col Median )
);
myFormula6 = Expr(__top__(__myHead__( :height, __aggregation__( :height ) )));
Substitute Into( myFormula6,
Expr(__top__), Expr(Log()),
Expr( __myHead__ ), Expr( Divide()),
Expr( __aggregation__ ),Expr( Col Median )
);
myFormula7 = Expr(__top__(__myHead__( :height, __aggregation__( :height ) )));
Substitute Into( myFormula7,
Expr(__top__), Expr(Log()),
Expr( __myHead__ ), Expr( Divide),
Expr( __aggregation__ ),Expr( Col Median() )
);
Re: メディアン大佐 - 何が問題ですか?これをカバーする (またはこの問題について議論する) ウェビナーを私は知りませんが、JMP にその式を再度解析させるのは賢明な回避策です。 本当に感動しました@jthi置換に () を含めるという最新の解決策は、それが機能するとは思いませんでしたが、JMP が関数を渡していることを認識し、残りを処理するのに役立つようです。 謎に満ちた混乱を招く問題に対する、驚くべき興味深い解決策です。
Re: メディアン大佐 - 何が問題ですか?わお、重要な発見だ!
正直に言うと、括弧を使用する必要があるとは知りませんでした。それが機能するという賭けさえしませんでした。
ありがとうございます。この投稿を必ずブックマークに追加しますヒントとコツのリスト 
Re: メディアン大佐 - 何が問題ですか?問題は代替品にあるのではなく、むしろ別の何かにあると思います。 おそらく JMP は、置換が少し奇妙である (括弧が欠落している) ため、この場合 Col Median が関数であることを理解していません。 これはおそらくこれを行うための「正しい」方法です(注) ()後分けるそしてコル中央値)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
myFormula3 = Expr(__myHead__(:height, __aggregation__(:height)));
Substitute Into(myFormula3, Expr(__myHead__), Expr(Divide()), Expr(__aggregation__), Expr(Col Median()));
show(Name Expr(myFormula3));
new_col1 = Eval(
Substitute(
Expr(New Column("new3", Formula(__f__))),
Expr(__f__), Name Expr(myFormula3)
)
);
Re: メディアン大佐 - 何が問題ですか?これを機能させるには、ネストされた If ステートメントと同じコードを何度も繰り返す必要があるのではないかと心配しました。
非常にクールな、「汚い」回避策 - ありがとう;)
...それが必要なければいいのですが:
代替のバグを修正
編集:必要ありません
@ジュリアン: 上記のコードがなぜ動作するのかを説明するウェビナーはありますか?解析(Char))?
Re: メディアン大佐 - 何が問題ですか?私は以前に職場でこの種の問題を「解決」しましたが、それがなぜ、どのように起こったのか、もう思い出せません。 また、ヒントとコツのリストにも記録していないため、推論と解決策を簡単に見つけることができません。 このように構築すると、2 番目の式が他の式の中にあるとスタックするようです。
1 つの回避策:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
myFormula3 = Expr(__myHead__(:height, __aggregation__(:height)));
Substitute Into(myFormula3, Expr(__myHead__), Expr(Divide), Expr(__aggregation__), Expr(Col Median));
myFormula4 = Expr(__myHead__(:height, __aggregation__(:height)));
Substitute Into(myFormula4, Expr(__myHead__), Expr(Divide));
Substitute Into(myFormula4, Expr(__aggregation__), Expr(Col Median));
Show(Name Expr(myFormula3));
Show(Name Expr(myFormula4));
new_col = Eval(
Substitute(
Expr(New Column("new3", Formula(__f__))),
Expr(__f__), Parse(Char(Name Expr(myFormula3)))
)
);
Re: メディアン大佐 - 何が問題ですか?これらの何が問題なのか:
myFormula3 = Expr(__myHead__( :height, __aggregation__( :height ) ));
Substitute Into( myFormula3,
Expr( __myHead__ ), Expr( Divide ),
Expr( __aggregation__ ),Expr( Col Median )
);
myFormula4 = Expr(__myHead__( :height, __aggregation__( :height ) ));
Substitute Into( myFormula4,Expr( __myHead__ ), Expr( Divide ));
Substitute Into( myFormula4,Expr( __aggregation__ ),Expr( Col Median ));
?
Re: メディアン大佐 - 何が問題ですか?どうもありがとう - 私の問題を解決する 3 つの方法:)
「OK」だけでは機能しませんでした。
より深く掘り下げる - なぜそれが起こったのか...
理由はありますかmyFormula3 (置き換えると頭そして集計) そしてmyFormula4 (その後に次のように置き換えます)頭そして集計)機能しないのですか?私の式1そしてmyFormula2 (両方の一方を置き換えるだけです)そうします。
(JMPも同様16.2および Jmp 17)
名前 Expr(myFormulax)まったく同じに見えます:
Name Expr(myFormula1) = Divide(:height, Col Median(:height));
名前 Expr(myFormula2) = :height / Col Median(:height);
Name Expr(myFormula3) = Divide(:height, Col Median(:height));
Name Expr(myFormula4) = Divide(:height, Col Median(:height));
残念ながら、ファイルを保存して再度開くまでは、上記の 3 つの解決策はどれも機能しません:(
だったらいいですね現在のデータ テーブル() << 式を再実行します。問題を解決できるかもしれません。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myFormula1 = Expr(__myHead__( :height,Col Median( :height ) ));
Substitute Into( myFormula1,
Expr( __myHead__ ), Expr( Divide ),
);
myFormula2 = Expr(Divide( :height, __aggregation__( :height ) ));
Substitute Into( myFormula2,
Expr( __aggregation__ ),Expr( Col Median )
);
myFormula3 = Expr(__myHead__( :height, __aggregation__( :height ) ));
Substitute Into( myFormula3,
Expr( __myHead__ ), Expr( Divide ),
Expr( __aggregation__ ),Expr( Col Median )
);
myFormula4 = Expr(__myHead__( :height, __aggregation__( :height ) ));
Substitute Into( myFormula4,Expr( __myHead__ ), Expr( Divide ));
Substitute Into( myFormula4,Expr( __aggregation__ ),Expr( Col Median ));
Show( Name Expr( myFormula1 ) );
Show( Name Expr( myFormula2 ) );
Show( Name Expr( myFormula3 ) );
Show( Name Expr( myFormula4 ) );
Eval( Substitute( Expr( New Column( "new1", Formula( __f__ ) ) ), Expr( __f__ ), Name Expr( myFormula1 ) ) );
Eval( Substitute( Expr( New Column( "new2", Formula( __f__ ) ) ), Expr( __f__ ), Name Expr( myFormula2 ) ) );
Eval( Substitute( Expr( New Column( "new3", Formula( __f__ ) ) ), Expr( __f__ ), Name Expr( myFormula3 ) ) );
Eval( Substitute( Expr( New Column( "new4", Formula( __f__ ) ) ), Expr( __f__ ), Name Expr( myFormula4 ) ) );
Re: メディアン大佐 - 何が問題ですか?数式エディターに戻って「適用」をクリックしてみてください。 または、「Suppress Eval」 -> 「Apply」にチェックを入れ、「Suppress Eval」のチェックを外して -> 再度「Apply」を選択します。 Current Data Table() << Rerun 式を試すこともできます。