やあ、
以下の点で困っています。 変数でグループ化されたカスタム出力のグループがあり、1 つのレポートに含める必要があります。 必要な出力が得られます。 ただし、for ループの結果として、非常に多くのサブセット データ テーブルが取得されます。 タブ ウィンドウについて読んでいましたが、複数のデータ テーブルをタブに配置することについてオンラインで書かれたものはあまりありません。 そのようなオプションはありますか?
そうでない場合は、レポートで生成されるデータ テーブルを自動的に最小化するオプションを JMP スクリプトに追加できます。
上記のようなオプションがない場合、select where ステートメントのみを使用してデータの行を選択し、それらの行を使用してカスタム出力と自動出力を単一のレポートに生成する方法はありますか? 使ってみたこのフォーラムの方法論、しかし、私は結果を得ていませんでした。
これが私の現在の JMP スクリプトと、添付の jmp ファイルです。
Names Default To Here( 1 );
dt = Current Data Table();
col9 = Column(dt, "category");
unique_category = Associative Array(col9) << get keys;
nw= New Window("results",
container = V List Box()
);
for (i = 1, i <= N Items(unique_category), i++,
content = V List Box(
vali = unique_category[i];
dt << Select Where(:category == vali);
//subset the selected data
listDT = dt << Subset(
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);
//Get the measurment units formatted, if applicable
col4 = Column( listDT, "Measurement Units");
units = col4[1];
units_formatted = If(Is Missing(units), "", Is String(units), " (" || units || ") ");
//chart
Oneway(SendToByGroup( {:category == vali},
Y( :results ) ),
SendToByGroup(
{:category == vali},
X( :name),
Connect Means( 1 ),
Grand Mean( 0 )
),
SendToByGroup(
{:category == vali},
SendToReport(
Dispatch(
{},
"2",
ScaleBox,
{Label Row( Set Font Size( 5 ) )}
),
Dispatch(
{},
"results",
TextEditBox,
{Set Text( vali || units_formatted )}
),
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Frame Size( 1500, 300 ), DispatchSeg(
CustomStreamSeg( 6 ),
{Line Color( "Gray" )}
), Row Legend(
subcategory,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
);
);
container << Append(content)
);どうもありがとう、ジム。 それがまさに私が必要としていたものです。
サブセット化されたデータ テーブルを非表示にするだけで、何度でも出力をクリーンアップできます。
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);