ログにエラーが表示されているが、手動で実行してもエラーが発生しないこんにちは、
私は6つの二変量を行い、それらを列に並べるための簡単なスクリプトを持っています。 グラフは正しいように見えますが、ログにエラーが表示されています。 ダイアログボックスを使って手動でフィットさせると、プロットは生成されますが(行の配置はなしで)、エラーが発生することはありません。 私はこのエラーを解決したいので配布するためにこのスクリプトを書いています。 どこから見ればいいですか?
前もって感謝します
アンディ
未解決の名前:ByによるアクセスまたはByによる評価、By(:device_ID)/ * ### * / Fitグループによるアクセスまたは評価でのプラットフォーム起動での例外、Fit Group(/ * ### * / 2変数(Y(:Charge_Transfer_%0)、X(:cycle_num))、
二変量(Y(:TvB_%0)、X(:cycle_num))、
二変量(Y(:TvD_%0)、X(:cycle_num))、
二変量(Y(:Name( "a * _%0"))、X(:cycle_num))、
二変量(Y(:Name( "b * _%0"))、X(:cycle_num))、
二変量(Y(:名前( "L * _%0"))、X(:cycle_num))、
<< {行に配置する(6)}、
投稿者(:device_ID)
)
次のスクリプトでは、/ * ### * /でマークされたエラー
フィットグループ(
二変量(Y(:Charge_Transfer_%0)、X(:cycle_num))、
二変量(Y(:TvB_%0)、X(:cycle_num))、
二変量(Y(:TvD_%0)、X(:cycle_num))、
二変量(Y(:Name( "a * _%0"))、X(:cycle_num))、
二変量(Y(:Name( "b * _%0"))、X(:cycle_num))、
二変量(Y(:名前( "L * _%0"))、X(:cycle_num))、
<< {行に配置する(6)}、
投稿者(:device_ID)/ * ### * /
)
dt<<CURRENTDATATABLE></CURRENTDATATABLE>
再:エラーを示すログが、手動で実行してもエラーが発生しない13で修正されたJMP 12のバグのようです。JMPのFitGroupがbyステートメントを実際に使用してbyグループを作成するのに加えて、byステートメントを評価しようとしているようです。このような問題を回避することができます。
dt=open("C:\Program Files\SAS\JMPPRO\12\Samples\Data/big class.jmp");
by=0; // work around JMP 12 issue
New Window( "Big Class - Bivariate",
V List Box(
dt<<FIT group=""></FIT>
これでJMPはログにメッセージを生成せずに変数byを評価する(そしてゼロの結果を無視する)ことができます。
編集:この問題がFitGroupにあることを明確にします。
再:エラーを示すログが、手動で実行してもエラーが発生しない添付されているのは、テーブルスクリプトを含むデータテーブルです。
一般的にプロットは問題ないようです、問題はログがたくさんのエラーを示しているということです。 エラーを引き起こしているコードを本番環境にリリースするのは好きではありません。
アンディ
再:エラーを示すログが、手動で実行してもエラーが発生しない確かにこれが欲しい
dt<<FIT group=""></FIT>
これではない
dt<<BIVARIATE></BIVARIATE>
FitGroupはプラットフォームに非常に似ており、byグループを作成するために使用するテーブルを知る必要があります。次にFitGroupは、グループごとに1回ずつ、含まれている2変量プラットフォームを実行します。byグループは実際にはサブセットテーブルであり、dt << Bivariateを使用するとプラットフォームはFitGroupが用意したサブセットではなくテーブル全体で実行されます。
私はこれを複数の開いているデータテーブルで試していないので、まだ別の問題があるかもしれません。
再:エラーを示すログが、手動で実行してもエラーが発生しないあなたが私たちがトラブルシューティングのために使用をテストすることができるあなたのデータセットのサニタイズされたバージョンを投稿するならば、おそらくこれを解決することははるかに簡単でしょう。 IPが心配な場合は、回答欄の値を乱数などに置き換えてください。
再:エラーを示すログが、手動で実行してもエラーが発生しないby列の名前が正確に正しいと確信していますか。by(name( "colname"))のシンタックスまたはby(:colname)の両方を使用して、修正したデータセットを使用しても問題なく動作しました。
このようなものを2変量コードの直前に配置して、ログに何が表示されるかを確認してみてください。
show(列として(:device_id)[1])
その列の最初の行の値が表示されます。そうでない場合は、その理由を理解してください。それがおそらくあなたの答えになるでしょう。
show(列(OpticalData、:device_id)[1]として)を試すこともできます。
すみません、私は前にこれを提案したでしょう... あなたのプロットは正しいと思いました。
再:エラーを示すログが、手動で実行してもエラーが発生しないこんにちは
2つの変更を加えました:
1現在のデータテーブル(光学データ)
2。二変量を光学データに強制
提案どおり。
現在それは進歩であるようにプロットを作ります。 しかし、それはby device_idを尊重していません。 これはfirグループでプロットを作成し、正しいIDをアタッチしていますが、プロットはdevice_idで定義されるべきサブセットではなくすべてのデータを示しています。 さらに、ログに未解決のdevice_idという名前のエラーが表示されています。
テーブルスクリプトを作成してその方法で実行すると正しくプロットされますが、ログにはまだdevice_idに関するエラーメッセージが表示されています。
アンディ
@mikedriscoll 書きました:
JImが言おうとしていることに沿って言えば、datatable()はそのテーブルを現在のテーブルにするわけではありません。少なくともそれはしないと思います。現在のデータテーブル(テーブル名)が欲しいと思います
OpticalData << Bivariate( Y( :name( "Charge_Transfer_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvB_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvD_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "a*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "b*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "L*_%0" ) ), X( :cycle_num ) ),
提案どおり。
再:エラーを示すログが、手動で実行してもエラーが発生しないJImが言おうとしていることに沿って言えば、datatable()はそのテーブルを現在のテーブルにするわけではありません。少なくともそれはしないと思います。現在のデータテーブル(テーブル名)が欲しいと思います
再:エラーを示すログが、手動で実行してもエラーが発生しない
これはあなたに解決策を提供するかもしれません。 二変量者に正しいテーブルを操作させる
New Window( "Fitness - Bivariate",
V List Box(
Fit Group(
OpticalData << Bivariate( Y( :name( "Charge_Transfer_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvB_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :name( "TvD_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "a*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "b*_%0" ) ), X( :cycle_num ) ),
OpticalData << Bivariate( Y( :Name( "L*_%0" ) ), X( :cycle_num ) ),
<<{Arrange in Rows( 6 )},
By( :name( "device_id" ) )
),
)
);
OpticalData << select where( :outlier != "---" );
OpticalData << exclude;
OpticalData << markers( "x" );
OpticalData << clear select;再:エラーを示すログが、手動で実行してもエラーが発生しない私はこれで本当の問題を抱えています。
これをもっと長いスクリプトに埋め込む必要があります。 私はそれが今では関連しているがより大きな問題を抱えていると思います。 このスクリプトは複数のデータテーブルを作成し、データテーブルを特別に設定した場合でも、これを誤ったデータテーブルで実行しようとしています。他のデータテーブルを明示的に設定したにもかかわらず、Fitness-Bivariateフィットが.... SPU.Dataテーブルにアタッチされていることに注意してください。 目的のデータテーブルをforに持ってきて、新しいウィンドウのスクリプトをハイライトして実行します。 正しいプロットになりますが、それでもエラーが発生します。 スクリプトで実行された場合でもそれは実行されませんが、「アクセスまたは評価では見つかりませんでした、BiVariate、Bad Arguement」が表示されます。
MacとWindowsの両方でJMP 12.2.0を使用しています。
助けて!

datatable(OpticalData);
New Window( "Fitness - Bivariate",
V List Box(
Fit Group(
Bivariate( Y( :name("Charge_Transfer_%0" )), X( :cycle_num ) ),
Bivariate( Y( :name("TvB_%0" )), X( :cycle_num ) ),
Bivariate( Y( :name("TvD_%0" )), X( :cycle_num ) ),
Bivariate( Y( :Name( "a*_%0" ) ), X( :cycle_num ) ),
Bivariate( Y( :Name( "b*_%0" ) ), X( :cycle_num ) ),
Bivariate( Y( :Name( "L*_%0" ) ), X( :cycle_num ) ),
<<{Arrange in Rows( 6 )},
By( :name("device_id") )
),
)
);
OpticalData<<SELECT where=""></SELECT>再:エラーを示すログが、手動で実行してもエラーが発生しないこれを試して
dt=open("$sample_data/big class.jmp");
New Window( "Big Class - Bivariate",
V List Box(
dt<<FIT group=""></FIT>
これはおそらく、fitグループメッセージを明示的なdtに送信する点でのみ異なります。
再:エラーを示すログが、手動で実行してもエラーが発生しない自分のデータに合わせて修正したスクリプトの修正版を実行しましたが、列を削除してもそのエラーが発生しませんでした。列が見つからないかのようにフラグを立てているようです。それが機能しているという事実は、JMPバージョンの問題、後のバージョンでクリーンアップされた外観上のバグのように思えます。どのJMPバージョンを使用していますか?
再:エラーを示すログが、手動で実行してもエラーが発生しない手助けがありますか。
スクリプトを実行するとグラフが作成されますが、それでもエラーが発生しますか?