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 ratings of 'Send'....
================================================= ========================
//アルゴリズム: 1. ユーザーが指定した適切なデータ ファイルを開きます。
// 2. ファイルを JMP データ テーブルとしてインポートします。
// 3. 指定されたデータテーブルに対して寿命分布を実行します。
// 4. 必要に応じてユーザーがファイルを操作できるようにします。
// 5. 必要な変更を加えたら、レポートを目的のファイル形式で保存するオプションがユーザーに提供されます。
// ユーザーは開きたいファイルを選択します
dt1 =開ける( ) ;
// 組み込みの寿命分布プラットフォームは、選択したデータ テーブルで実行されます
LD =寿命分布(
dt1 、
Y ( 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 = 新しいウィンドウ( "レポートのエクスポート",
Text Box("このレポートを別の形式でエクスポートしますか? \!n (注: このレポートをエクスポートできるファイル形式の種類には制限があります。 \!n ) \!n")、
ボタンボックス(「はい」、
w2 = 新しいウィンドウ( "レポートのエクスポート",
Button Box( "Word", LD << save MSword("$DESKTOP\my_file.doc")),
ボタン ボックス( "Power Point"、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 ではレポートが保存されません。 スクリプト可能なオブジェクト エラー コードが必要です。データ フィルターは、プラットフォームではなくデータ テーブルに適用されます。Life Distribution Platform で行う必要があることは、自動再計算オプションをオンにする必要があることです。これにより、プラットフォームがデータ テーブルの変更を検出したとき (つまり、データ フィルターで何かを変更したとき)、プラットフォームが再計算されます。画面。

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

ローカル データ フィルターの使用も選択できるようになりました。

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

Re: JMP 12 ではレポートが保存されません。 スクリプト可能なオブジェクト エラー コードが必要です。どうもありがとうございます!完璧に機能しました!
JMP がライフ配信プラットフォーム上でデータ フィルターの実装を許可するかどうかはわかりませんでした。 現在、スクリプトのオプションを探していますが、うまくいきません。 正しい方向を教えてもらえませんか?
データフィルター:データフィルター
現在、スクリプト ガイドを読んでいます。スクリプトガイド
構文リファレンス ガイドと併用してください。 JSL 構文リファレンス
Re: JMP 12 ではレポートが保存されません。 スクリプト可能なオブジェクト エラー コードが必要です。以下に、スクリプトの 2 つのバージョンを示します。1 つ目は設計どおりに機能しますが、2 つ目は、Life Distribution 出力に保存リクエストを直接埋め込むことで、この種のことを行うのが私が好む方法です。
//アルゴリズム: 1. ユーザーが指定した適切なデータ ファイルを開きます。
// 2. ファイルを JMP データ テーブルとしてインポートします。
// 3. 指定されたデータテーブルに対して寿命分布を実行します。
// 4. 必要に応じてユーザーがファイルを操作できるようにします。
// 5. 必要な変更を加えたら、レポートを目的のファイル形式で保存するオプションがユーザーに提供されます。
// ユーザーは開きたいファイルを選択します
dt1 =開ける() ;
// 組み込みの寿命分布プラットフォームは、選択したデータ テーブルで実行されます
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) << MSword を保存する( 「$DESKTOP\my_file.doc」 )) 、
ボタンボックス( "パワーポイント" 、報告(LD) <<プレゼンテーションを保存( 「$DESKTOP\my_file.pptx」 )) 、
ボタンボックス( "近い" 、 <<ウィンドウを閉じる())
)
) 、
ボタンボックス( "いいえ" 、 w1 <<ウィンドウを閉じる()) 、
)
) ;
2 番目のスクリプト:
//アルゴリズム: 1. ユーザーが指定した適切なデータ ファイルを開きます。
// 2. ファイルを JMP データ テーブルとしてインポートします。
// 3. 指定されたデータテーブルに対して寿命分布を実行します。
// 4. 必要に応じてユーザーがファイルを操作できるようにします。
// 5. 必要な変更を加えたら、レポートを目的のファイル形式で保存するオプションがユーザーに提供されます。
// ユーザーは開きたいファイルを選択します
dt1 =開ける() ;
// 組み込みの寿命分布プラットフォームは、選択したデータ テーブルで実行されます
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 = V リストボックス(
ボタンボックス( 「ワードに保存」 、報告(LD) << MSword を保存する( 「$DESKTOP\my_file.doc」 )) 、
ボタンボックス( 「パワーポイントに保存」 、報告(LD) <<プレゼンテーションを保存( 「$DESKTOP\my_file.pptx」 )) 、
ボタンボックス( "近い" 、 LD <<ウィンドウを閉じる())
) ;
報告(ld)[ 「ライフディストリビューション」 】 <<先頭に追加(w2) ;