条件付きチャートのテキストボックスを非表示にする<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、みんな、
私はjslとスクリプト全般については初心者ですが、1つの列の条件に基づいて変動グラフを作成しようとしています。
設定の下で where を使用すると、where 内の文字列全体と一致するプロットの上にテキスト ボックスが生成されます (作成されるグラフごとに繰り返されます)。 これを抑制する方法はありますか? 条件が長く、複数のプロットが追加されると、表示上の問題が発生します。
例えば:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt<<変動グラフ(Y(:体重),X(:年齢),Where(:性別=="M"));

インターフェイスを操作してもこの問題は表示されませんが、スクリプトは似ているように見えます。

Re: 条件付きチャートのテキストボックスを非表示にする残念なことに、これはまだ問題です。
また、イライラするのは、この問題に関するドキュメントや解決策のほとんどが広範囲の状況をカバーしていないか、ツリー構造を反復処理することによってブルートフォースで問題を解決していることです。
JMP には xpath 機能がありますが、これも十分に文書化されていません。 これは、xpath が JMP に所有権を持たない標準構文であるため、馴染みのないユーザーにドキュメントを提供する必要性を感じていないためだと思います。
基本的にどのような状況でも表示されるこれらの厄介なテキスト ボックスを削除するために使用する 1 行のコードを次に示します。 問題のあるテキスト ボックスが含まれるレポートにラッパーがまだない場合は、その周りにラッパーを配置する必要があります。
txnelson のアウトライン ボックス ラッパーの命名を借用すると、次のようになります。
(ob << xpath("//TextBox[contains(text(),'Where(')]")) << delete;<BR />必要に応じて、同様の xpath スクリプトを使用してボックスの実際のテキストを取得し、情報をより明確にするために何らかの処理を実行して、それを別のアウトライン ボックスまたはフィット グループのタイトルに挿入することができます。これは、そもそもレポートをスクリプトに保存するという望ましい機能です。
JMP の xpath の詳細については、以下を読むことを強くお勧めします。このレポート[PDF]しばらく前に別の JMP ユーザーによって投稿されました。 PDF では、jmp に関連する xpath の構文の概要が、役立つ例とともに説明されています。
Re: 条件付きチャートのテキストボックスを非表示にするTextBox を削除する代わりに、単に非表示にすることもできます。ジムが言及したケースでは非表示は問題なく機能しますが、すべての状況で理想的であるとは限りません。
オブ[テキストボックス( 1 )] <<隠れる( 1 ) ;
ウェンディ
Re: 条件付きチャートのテキストボックスを非表示にするただ言いたいのは、私もこの Where テキストボックスを頻繁に削除していることに気づきました。あなたが示した理由と、この小さな印刷句はラベルとしてはそれほど優れたものではなく、視覚的に簡単に失われる可能性があるためです。
情報は役立つ、あるいは必須であるという Ian の意見に同意しますが、とにかく JSL を使用してカスタム レポートを作成するときは、通常、冗長なアウトライン ボックスの見出しを操作して、この情報をより目立つように、煩わしいレイアウトの問題を発生させずに提供するように変更します。テキストボックス。したがって、「変動ゲージ」や「体重の変動チャート」という大きな太字のラベルがある場合は、それらを修正して、より目立つ場所に SEX=M などを追加します。
また、データなどに応じて数が異なるプロットが多数あることが多いため、この粗雑な方法を使用してすべての Where テキストボックスを削除することもあります...
for(i=1000,i>0,i--,
try(if(contains(nw[textbox(i)]<
);
Re: 条件付きチャートのテキストボックスを非表示にするありがとう、マーク - 分かりました。
Re: 条件付きチャートのテキストボックスを非表示にする私も同じことを疑問に思っていました。 ありがとう
Re: 条件付きチャートのテキストボックスを非表示にする返信いただきありがとうございます。 H リスト ボックス内で余分なテキストが問題を引き起こしていました。 テキストが横に表示されると、余計なデッドスペースが多くなってしまいます。 Plus は一般的なテキストであり、評価されませんでした。

Re: 条件付きチャートのテキストボックスを非表示にするありがとう! これは私にとってはうまくいきます。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
summary(lev = by(:性別, :年齢));
k=連想配列(lev[1])<<キーを取得;
nk = niitems(k);
New Window("性別と年齢別の変数", main = V List Box());
For(i=1,i<=nk,i++,
loc1 = loc(lev[1],k );
vcwin = H リスト ボックス();
For(j=1,j<=nrows(loc1),j++,
ob=OutlineBox("",dt<<変動グラフ(Y(:体重),:X(:身長),Where(:sex==lev[1][loc1)] & :age == num(lev[2][loc1])),標準開発チャート(0)));
ob[TextBox(1)]<<削除;
vcwin<
);
main<
);
Re: 条件付きチャートのテキストボックスを非表示にする当たり前のことですが、「By」グループ変数のレベルを削除しないと、各グラフがどの「サブセット」に関連しているかが明確ではないため、そのレベルを削除しないように注意します。
しかし、私の理解が正しければ、アウトラインノードのラベルを短くしたいということです。 これを行う必要があると感じた場合は、次の方法を試してみてください。
名前デフォルトここへ( 1 ) ;
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// 'By' グループを使用した変動グラフ
VC = dt <<変動チャート( Y ( :重さ) 、バツ( :年) 、による( :セックス)) ;
// レポートレイヤー
VCRep = VC <<報告;
// 「By」グループのレベルを取得します
レベル=連想配列(カラム( dt 、 「セックス」 ) <<値の取得) <<キーの取得;
// レポート上のアウトライン ノードのタイトルを更新 (短縮)
のために( g = 1 、 g <= Nアイテム( VCRep ) 、 g ++、
VCRep [ g ][アウトラインボックス( 1 )] <<タイトルを設定(シャア(レベル[ g ])) ;
) ;
仕組みを理解するには、「ヘルプ > スクリプト ガイド」または「ヘルプ > スクリプト インデックス」を参照してください。
ただ、放っておくとどのような「表示上の問題」が発生するのか気になるところですが、
Re: 条件付きチャートのテキストボックスを非表示にするここでは、Where 句を削除するために使用する方法を示します。
変動性プラットフォームのレポート出力から参照する方法があるのではないかと思いますが、実際にはプラットフォームの出力の前に表示されるため、埋め込まれた「空の」アウトラインを使用して出力の周囲を新しいウィンドウで囲むことに成功しました。ボックスに移動し、そこから参照します。
デフォルトの名前はここにあります( 1 ) ;
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// 表示を空の新しいウィンドウに形式化します。
// Where テキスト ボックスを参照できるようにするアウトライン ボックス
// 変動チャートの表示の前に行われます
新しい窓( "画面" 、
オブ=アウトラインボックス( 「」 、 dt <<変動チャート( Y ( :重さ) 、バツ( :年) 、どこ( :セックス== 「ま」 ) ) )
) ;
// Where 句が含まれるテキスト ボックスを削除します
オブ[テキストボックス( 1 )] <<消去;