JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />皆さんこんにちは、
私は新しい JMP ユーザーであり、問題に遭遇したとき、jsl をクラックしていました。
目的: 1) ファイルを開く
2) 生命分配を行う
3) ユーザーが配布レポートをエクスポートする形式の適切なボタンをクリックします。
問題: Life ディストリビューションによって生成された以下のレポートを JMP で保存できません。
この演習の背後にある概念は単純でしたが、最後の機能が機能しない理由や解決方法がわかりません。
時折、次のエラーが表示されます: Send Expects Scriptable Object in access or Evaluation of 'Send'....
================================================== ========================
//アルゴリズム: 1. ユーザーが指定した適切なデータ ファイルを開きます。
// 2. ファイルを JMP データ テーブルとしてインポートします。
// 3. 指定されたデータ テーブルで寿命分布を実行します。
// 4. 必要に応じてユーザーがファイルを操作できるようにします。
// 5. 必要な変更を行ったら、レポートを目的のファイル タイプとして保存するオプションをユーザーに提供します。
// ユーザーは開きたいファイルを選択します
dt1 =開ける( ) ;
// 組み込みの Life Distribution プラットフォームは、選択したデータ テーブルで実行されます
LD =生命分布(
dt1 、
よ( 1 ) 、 //時間列
検閲( 6 ) 、 // 累積ハザード列
検閲コード( 1 ) 、
<<ワイブルをフィット、
信頼区間法(ヴァルト) 、
<<スケールを設定(ノンパラメトリック) 、
間隔タイプ(同時に) 、
イベント プロット頻度ラベルを表示( 0 ) 、
<<スクリプト可能なものを設定する(
{確率紙(プロファイラ( 1 、信頼区間( 1 ) 、期間値(列 1 ( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル分布(プロファイラ( 1 、信頼区間( 1 ) 、期間値(列 1 ( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル分位数(プロファイラ( 1 、信頼区間( 1 ) 、期間値(確率( 0.5 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブルハザード(プロファイラ( 1 、信頼区間( 1 ) 、期間値(列 1 ( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル密度(プロファイラ( 1 、期間値(列 1 ( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、カスタム見積もり(ワイブル、 0 )}
) 、
急送( { 「分布を比較する」 } 、 「ライフディストリビューション」 、フレームボックス、 {グリッド線の順序( 2 ) 、基準線の順序( 3 )} ) 、
急送( { "統計学" 、 「機種比較」 } 、 "" 、テーブルボックス、 {列で並べ替え( 2 、 1 )} )
);
LD << クローズ時 (
w1 = New Window( "レポートのエクスポート",
Text Box("このレポートを別の形式でエクスポートしますか? \!n (注: ファイル形式の種類には制限があります \!n このレポートをエクスポートできます。 ) \!n"),
ボタンボックス( "はい",
w2 = New Window( "レポートのエクスポート",
Button Box( "Word", LD << save MSword("$DESKTOP\my_file.doc")),
Button Box( "パワーポイント", LD << プレゼンテーションを保存("$DESKTOP\my_file.pptx")),
Button Box( "閉じる", << ウィンドウを閉じる())
)、
表示 (w2);
w1 << ウィンドウを閉じる();
)、
ボタンボックス( "いいえ",
w1 << ウィンドウを閉じる()
)、
);
Re: JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。すごい! できます。 ありがとうジム。
このデータ フィルターで最後にやりたいことは、スクリプトを使用して最初の 10 個のモデルを選択することです。
例 1: この例では、データ フィルターは、指定されたモデル ID に関連するデータを選択して含めます。
dt1 <<データフィルター(
位置( { 1000 、 50 } ) 、
モード(見せる( 1 ) 、含む( 1 ) ) 、
列( :アイテム) 、
どこ( :アイテム== {"モデル ID 1"、"モデル ID 2"、"モデル ID 3"、"モデル ID (n)"} ) 、
画面( :アイテム、サイズ( 204 、 140 ) 、リスト表示)
) ;
//これと似たようなことをしたいのですが、正確なモデル ID を指定する必要はありません。 最初 (n) のモデル ID のデータを含めたいと思います。
例 2: 私の多くの実験的試みの 1 つ。
モデル=シャア(現在のデータ テーブル() <<場所を選択(評価(アイテム[] < 3 )))) ; // 最初の 3 つの一意のモデル ID を選択してプロットします
dt1 <<データフィルター(
位置( { 1000 、 50 } ) 、
モード(見せる( 1 ) 、含む( 1 ) ) 、
列( :アイテム) 、
どこ( :アイテム==モデル) 、
画面( :アイテム、サイズ( 204 、 140 ) 、リスト表示)
) ;
何か提案があれば教えてください。
Re: JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。ウィンドウ内で独自の仕様を使用して独自の出力ウィンドウを生成しているため、ウィンドウのすべての制御を引き継いで、データ フィルターで何かを変更していることを検出する必要があります。つまり、コードに追加する必要があるということです。
rs = dt<<行状態ハンドラの作成(f)
変更を検出したときに表示ウィンドウ内のコンポーネントを再作成する関数「f」を追加します。
通常、コンポーネントを追加/削除する V リスト ボックスと H リスト ボックスを含むテンプレートを表示ウィンドウ内に設定します。そのため、行の状態の変化が検出されたときに、必要なアイテムを表示ウィンドウから削除し、バックグラウンドで再作成して、表示ウィンドウに追加し直します。
Re: JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。私がそれを試みると、2つのことが起こります。
(1) パネルボックスが消える
(2) データ フィルターはプロットに目に見える変更を加えません。

(画像1)

(画像2)
画像 1 では、データ フィルターが適用されていません。 データ フィルタが適用されると (画像 2)、[名前を付けて保存] オプションが表示されなくなります。 データ フィルターを使用して、特定のモデルまたはモデルのグループを選択して表示しようとしました。 JMP 12 を使用してより詳細に制御できるオプションはありますか? 私が持っているバージョン(JMP 12.2)が制限されている可能性があることを理解しています。
これまでお世話になりました!
Re: JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。データ フィルターは、プラットフォームではなく、データ テーブルに適用されます。生命分布プラットフォームで発生する必要があるのは、自動再計算オプションをオンにする必要があることです。これにより、プラットフォームがデータ テーブルの変更を検出した場合 (つまり、データ フィルターで何かを変更した場合)、プラットフォームが再計算されます。画面。

データ フィルターを定義したら、それを再作成するスクリプトを提供するように要求できます。

現在、ローカル データ フィルターの使用を選択することもできます。

その場合、設定した生命分布を再現するスクリプトを生成するようプラットフォームに要求すると、ローカル データ フィルターのコードが含まれます。

Re: JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。どうもありがとう!それは完全に機能しました!
JMP がライフ配信プラットフォームにデータ フィルターを実装できるかどうかはわかりませんでした。 現在、スクリプトのオプションを探していますが、うまくいきませんでした。 正しい方向に私を向けることができますか?
データフィルター:データフィルター
現在、スクリプト ガイドを調べています。スクリプトガイド
シンタックス リファレンス ガイドと合わせて以下を参照してください。 JSL構文リファレンス
Re: JMP 12 はレポートを保存しません。 スクリプト可能なオブジェクト エラー コードが必要です。以下は、スクリプトの 2 つのバージョンです。最初のものはあなたが設計したとおりに機能しますが、2番目のものは保存リクエストをLife Distribution出力に埋め込むことによって、私がこの種のことを行うのが好きな方法です.
//アルゴリズム: 1. ユーザーが指定した適切なデータ ファイルを開きます。
// 2. ファイルを JMP データ テーブルとしてインポートします。
// 3. 指定されたデータ テーブルで寿命分布を実行します。
// 4. 必要に応じてユーザーがファイルを操作できるようにします。
// 5. 必要な変更を行ったら、レポートを目的のファイル タイプとして保存するオプションをユーザーに提供します。
// ユーザーは開きたいファイルを選択します
dt1 =開ける() ;
// 組み込みの Life Distribution プラットフォームは、選択したデータ テーブルで実行されます
LD = dt1 <<生命分布(
Y(桁( 1 ) ) 、 //時間列
検閲(桁( 6 ) ) 、 // 累積ハザード列
検閲コード( 1 ) 、
<<フィットワイブル、
信頼区間法 ( Wald ) 、
<<スケールを設定(ノンパラメトリック) 、
インターバルタイプ(同時) 、
イベントプロット頻度ラベルを表示( 0 ) 、
<<スクリプト可能オブジェクトを設定(
{確率論文( プロファイラー( 1 、信頼区間( 1 ) 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル分布( プロファイラー( 1 、信頼区間( 1 ) 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル分位数( プロファイラー( 1 、信頼区間( 1 ) 、項 値( 確率( 0.5 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブルハザード( プロファイラー( 1 、信頼区間( 1 ) 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル密度( プロファイラー( 1 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、カスタム推定 (ワイブル、 0 )}
) 、
急送( { 「分布を比較する」 } 、 「ライフディストリビューション」 、フレームボックス、 {グリッド線の順序( 2 ) 、基準線順( 3 )} ) 、
急送( { "統計学" 、 「機種比較」 } 、 "" 、テーブルボックス、 {列で並べ替え( 2 、 1 )} )
) ;
LD <<クローズ時(
w1 =新しい窓( 「レポートのエクスポート」 、
テキストボックス(
「このレポートを別の形式でエクスポートしますか? \!n (注: ファイル形式の種類には制限があります \!n このレポートをエクスポートできます。 ) \!n"
) 、
ボタンボックス( "はい" 、 w1 <<ウィンドウを閉じる() ;
w2 =新しい窓( 「輸出報告書」 、
ボタンボックス( "語" 、報告(LD) << MSワードを保存( "$DESKTOP\my_file.doc" ) ) 、
ボタンボックス( "パワーポイント" 、報告(LD) <<プレゼンテーションを保存( "$DESKTOP\my_file.pptx" ) ) 、
ボタンボックス( "近い" 、 <<ウィンドウを閉じる() )
)
) 、
ボタンボックス( "いいえ" 、 w1 <<ウィンドウを閉じる() ) 、
)
) ;
2 番目のスクリプト:
//アルゴリズム: 1. ユーザーが指定した適切なデータ ファイルを開きます。
// 2. ファイルを JMP データ テーブルとしてインポートします。
// 3. 指定されたデータ テーブルで寿命分布を実行します。
// 4. 必要に応じてユーザーがファイルを操作できるようにします。
// 5. 必要な変更を行ったら、レポートを目的のファイル タイプとして保存するオプションをユーザーに提供します。
// ユーザーは開きたいファイルを選択します
dt1 =開ける() ;
// 組み込みの Life Distribution プラットフォームは、選択したデータ テーブルで実行されます
LD = dt1 <<生命分布(
Y(桁( 1 ) ) 、 //時間列
検閲(桁( 6 ) ) 、 // 累積ハザード列
検閲コード( 1 ) 、
<<フィットワイブル、
信頼区間法 ( Wald ) 、
<<スケールを設定(ノンパラメトリック) 、
インターバルタイプ(同時) 、
イベントプロット頻度ラベルを表示( 0 ) 、
<<スクリプト可能オブジェクトを設定(
{確率論文( プロファイラー( 1 、信頼区間( 1 ) 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル分布( プロファイラー( 1 、信頼区間( 1 ) 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル分位数( プロファイラー( 1 、信頼区間( 1 ) 、項 値( 確率( 0.5 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブルハザード(プロファイラー( 1 、信頼区間( 1 ) 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、
ワイブル密度( プロファイラー( 1 、期間値( 列 1( 80.85 、ロック( 0 ) 、見せる( 1 ) ) ) ) ) 、カスタム推定 (ワイブル、 0 )}
) 、
急送( { 「分布を比較する」 } 、 「ライフディストリビューション」 、フレームボックス、 {グリッド線の順序( 2 ) 、基準線順( 3 )} ) 、
急送( { "統計学" 、 「機種比較」 } 、 "" 、テーブルボックス、 {列で並べ替え( 2 、 1 )} )
) ;
w2 = Ⅴリストボックス(
ボタンボックス( 「ワードに保存」 、報告(LD) << MSワードを保存( "$DESKTOP\my_file.doc" ) ) 、
ボタンボックス( 「パワーポイントに保存」 、報告(LD) <<プレゼンテーションを保存( "$DESKTOP\my_file.pptx" ) ) 、
ボタンボックス( "近い" 、 LD <<ウィンドウを閉じる() )
) ;
報告(ld)[ 「ライフディストリビューション」 ] <<先頭に追加(w2) ;