レポート プラットフォームからテキストを取得するこんにちは、
私が非常に苦労したのは、どうすればよいかということです得るプラットフォームからの*何か*。 この場合、それは「線形フィット」のすぐ下の線形フィット方程式です。 [プロパティ] メニューと [ツリー構造の表示] メニューには両方とも異なるテキスト終了ボックスが表示されるため、両方を取得して使用しようとしました。得る(これはプラットフォームによって認識されないか、あるいはオブジェクトだけによって認識されない場合もあります)、およびテキストを取得する。 どちらも必要なテキストを取得できません。 何か案は?
もう 1 つの問題は、summary が :sex 内に一意の値のリストを作成し、それが for ループの反復回数に相当するため、そのうち 2 つが生成されるはずのレポートが 6 つ生成されることです。 レポートはこれらの値についてもフィルターされます。
Names default to here(1);
clear log();
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
summarize( gen_lst = by( dt:sex ) );
for( i = 1, i <= N Items( gen_lst ), i++,
// Create visualization, save to target
vis = eval expr( eval(
Bivariate(
Y( :weight ),
X( :height ),
Where( :sex == expr( gen_lst[i] ) )
)
) );
// Fit: Linear
vis << Fit Line( {Line Color( {255, 000, 000} )} );
// Tries to copy equation in "Linear Fit"
try( eqs_tmp1 = report(vis)["Linear Fit", TextEditBox(1)] << Get text );
try( eqs_tmp4 = report(vis)[TextEditBox(4)] << Get text );
try( print( eqs_tmp1 ) );
try( print( eqs_tmp4 ) );
);

自動化とスクリプト作成基本的なデータ分析とモデリングデータの探索と視覚化ウィンドウズRe: レポート プラットフォームからテキストを取得するそうあるべきだと思う
Eval(Eval Expr(...
あるいは、次の方法を使用することもできます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
vis = Bivariate( Y( :weight ), X( :height ), By( :sex ) );
vis << Fit Line( {Line Color( {255, 000, 000} )} );
(vis << XPath( "//OutlineBox[text()='Linear Fit']//TextEditBox" )) << get text;
Re: レポート プラットフォームからテキストを取得するホギさん、早速のお返事ありがとうございます!
スクリーンショットに示されているように、代替コードは私の好みに合わせてテキストを取得しすぎます。特に方程式を把握しようとしています。
ただし、eval と eval expr を反転したことを理解していただきありがとうございます。 これで問題は完全に解決しました。 最初または 2 番目の try() を使用して、探している方程式を取得できます。

Re: レポート プラットフォームからテキストを取得する私のシステム (v17.1) では:

うーん、何が違いを生むのだろうか?
Re: レポート プラットフォームからテキストを取得するスクリーンショットでは括弧が少なくなっていますね。
したがって、取得テキストは vis に直接パイプされ、完全なレポートが返されます。
Re: レポート プラットフォームからテキストを取得するここではさらに使用できるオプションをいくつか紹介します。 ここで最初のオプションを使用するか、XPath を使用します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Summarize(gen_lst = by(dt:sex));
For(i = 1, i <= N Items(gen_lst), i++,
// Create visualization, save to target
vis = Eval(Eval Expr(Bivariate(Y(:weight), X(:height), Where(:sex == Expr(gen_lst[i])))));
// Fit: Linear
vis << Fit Line({Line Color({255, 000, 000})});
txt1 = Report(vis)[OutlineBox("Linear Fit"), Text Edit Box(1)] << get text; // I would use this or XPath
txt2 = Report(vis)["Linear Fit", Text Edit Box(1)] << get text;
txt3 = ((Report(vis)[OutlineBox("Linear Fit")] << Child) << child) << get text;
);