JMPスクリプティングの課題:Includeを使用して呼び出された子スクリプトでDistributionプラットフォームを実行する親スクリプトから、Includeステートメントを使用して別のスクリプトを呼び出しています。このもう1つのスクリプトは、子スクリプトと呼ばれ、親スクリプトによって生成された出力に追加されるいくつかの出力を生成します。子スクリプトの出力には、配布プラットフォームの実行が含まれています。最初に親スクリプトを実行したとき、子スクリプトからの出力は親スクリプトからの出力に正常に追加されています。同じスクリプトを2度目に実行したときに、ディストリビューションとは関係ない選択肢を1つ変更した後、「Distributionスクリプト内のコマンドが認識されませんでした」というメッセージが表示されます。分析するデータがありません "、列変数がDistributionコードに誤って渡されると、私が考えるメッセージが生成されます。これが私のコードです:
例= Expr(c = Concat ( ":" 、colY << 名前を取得 ;
評価 ( 代替 ( 経験値 ( rdist = 報告書 (ldist = 現在のデータ表 ()<< 分布 (
連続配布 ( カラム (_col_)、垂直 ( 0 、
フィット分布 (対数正規分布(密度曲線( 1 )))
フィット分布 (ノーマル(密度曲線( 1 )))
)、ヒストグラムのみ)))、
経験値 (_col_)、
解析する (c) )
;);
親スクリプトから分離して実行すると、コードは正常に実行されます。
誰かが私を助け、私が間違っていることを教えてもらえますか?なぜそれが一度だけ動作しますが、二度目は動作しませんか。
再:JMPスクリプティングの課題:usingプラットフォームという子スクリプトでDistributionプラットフォームを実行するコードが機能する場合は、いずれかの変数の内容に問題があるはずです。 入れ子になった操作のためにそれを追跡するのは難しいです - あなたはそれをこのように少し分離することを試みることができます:
c = Concat( ":", colY << Get Name );
show(c);
jsl = Substitute(
Expr(
rdist = Report(
ldist = Current Data Table() << Distribution(
Continuous Distribution(
Column( _col_ ),
Vertical( 0 ),
Fit Distribution( Log Normal( Density Curve( 1 ) ) ),
Fit Distribution( Normal( Density Curve( 1 ) ) ),
),
Histograms Only
)
)
),
Expr( _col_ ), Parse( c )
);
show(jsl);
ログウィンドウでjsl変数を調べて、整形式であることを確認できます(テキストを選択して右クリックし、run scriptを選択した場合は正しく実行されます)。
再:JMPスクリプティングの課題:usingプラットフォームという子スクリプトでDistributionプラットフォームを実行するこの問題はインクルードファイルを使用している場合にのみ発生すると言っています。その場合、インクルードファイルの使用方法を明確に示すコード例を示す必要があるかもしれません。 あなたが示したコードに関して、それは過度に複雑なabitのようです:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colY = "height";
ldist = dt << Distribution(
Continuous Distribution(
Column( Eval(colY) ),
Vertical( 0 ),
Fit Distribution( Log Normal( Density Curve( 1 ) ) ),
Fit Distribution( Normal( Density Curve( 1 ) ) ),
),
Histograms Only
);
rdist = ldist << Report;