情報参照ウィンドウこんにちは、
私は新しい.jslユーザーとして、ユーザー入力を受けて、大きなクラスのサンプルデータテーブルからデータを取り出すための小さなスクリプトを作成することによって学ぶことを試みました。
私が遭遇した問題のほとんどはこれらの掲示板で見つけることができますが、私は情報を見つけることができないことを付け加えたいと思いますが、私はいくつかの追加の事柄があります。
- ユーザーが間違った名前を入力した場合(つまり、一致する行が見つからなかった場合)、アラートウィンドウを作成してポップアップ表示し、ユーザーに通知する方法はありますか?
- サブセットデータテーブルを開く代わりに、返されたセル値をUIウィンドウ自体に(検索ボタンとキャンセルボタンの下に)印刷することは可能ですか?そうでない場合は、上記の警告ウィンドウと同様の新しいウィンドウに移動します。
- スクリプトの最適化や全般的な改善はありますか。
ご協力ありがとうございます
No7
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp", "Invisible" );
dt << Clear Selected;
cols = dt << getColumnNames( "String" );
delcols = {"name"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( cols, As List( Loc( cols, delcols[i] ) ) )
);
lookup_script = Expr(
myName = Uppercase( name1 << get text );
If( myName != "",
match_rows = dt << get rows where( :name == myName )
);
dt << subset( columns( cols[cb << get] ), rows( match_rows ) );
);
UIwin = New Window( "Big Class Age/Height Lookup",
Show Menu( 0 ),
Show Toolbars( 0 ),
//<<MODAL></MODAL>情報検索ウィンドウ @uday_guntupalli ファンタスティックな次の人が働いた。
If( Nrows(match_rows) == 0,
Text Box( "Serial Not Found."),
早速の対応、ありがとうございました!
情報検索ウィンドウ @ JMPUserNumber7 、
行ベクトルの場合はN Rows()、列ベクトルの場合はN Cols()を試してください。
情報検索ウィンドウ @uday_guntupalli 非常に感謝します、これはまさに私が探していたものです、私はこの場合追加機能を知りませんでした!
名前が入力されていないときに文字列を返すようにスクリプトを更新し、編集内容を少し変更しました。しかし、私は次のように動作させることができません
If(IsEmpty(match_rows),
Text Box("The name you looked up does not exist")読書からここにこれは、JMPが目的のテキストではなく配列を返すためです。回避策のアイデアはありますか?
再度、感謝します。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp", "Invisible" );
dt << Clear Selected;
cols = dt << getColumnNames( "String" );
delcols = {"name"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( cols, As List( Loc( cols, delcols[i] ) ) )
);
lookup_script = Expr(
myName = Uppercase( name1 << get text );
If( myName == "",
VL1 << Append( H List Box( Text Box( "Please enter a name.", <<BULLET point=""></BULLET>
情報検索ウィンドウ @ JMPUserNumber7 、
このようなことをしてみてください。
dt = Open( "$SAMPLE_DATA/Big Class.jmp", "Invisible" );
dt << Clear Selected;
cols = dt << getColumnNames( "String" );
delcols = {"name"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( cols, As List( Loc( cols, delcols[i] ) ) )
);
lookup_script = Expr(
myName = Uppercase( name1 << get text );
If( myName != "",
match_rows = As List(dt << get rows where( :name == myName ))
);
// dt << subset( columns( cols[cb << get] ), rows( match_rows ) );
// My Edit
VL1 << Append(
H List Box(
If(IsEmpty(match_rows),
Text Box("The information you looked up does not exist")
,
Text Box("The information you looked up is" || char(dt[match_rows,cols[cb<<GET></GET>