for ループ内でテーブルが空の場合は、以下の行をスキップしますこんにちは、for ループ内に次のスクリプトがあります。 テーブル mydt が空の場合はループを継続し、その下の行をスキップするのが好きです。
私はあなたの助けに感謝します。 ありがとう
-------------------------------------------
mydt =データ表( dt5 );
もしも((空です(mydt))、Continue());
mydtsummary =データ表( dt5 ) <<まとめ(
グループ( :ボード番号 )、
マックス( :始まる時間 )、
統計列名の形式( 「列のステータス」 )
);
mydt <<アップデート(
と(データ表( mydtsummary ) )、
列の一致( :BoardNo = :BoardNo )、
更新テーブルから列を追加(:開始時間の最大値)
);
mydt <<場所を選択してください( :starttime == :開始時刻の最大値 ) <<行選択を反転する;
mydt <<行を削除する;
mydt <<列を削除する( 「開始時間の最大値」 );
近い( mydtsummary、nosave );
近い(mydt、保存);
Re: for ループ内でテーブルが空の場合は以下の行をスキップするありがとうジム。
Re: for ループ内でテーブルが空の場合は以下の行をスキップするIf( 条件 == true,
壊す();
);
Re: for ループ内でテーブルが空の場合は以下の行をスキップするありがとうキャメロン。 問題は、テーブルが空であるか、値がないかどうかではありません。問題は、条件が true の場合、その下の行をすべてスキップして、次の for ループ インデックスに進みたいということです。
if (条件 = True、
....
...以下はすべてスキップしてください
...
);
ありがとう。
Re: for ループ内でテーブルが空の場合は以下の行をスキップするIs Empty() 関数を使用して何を行うのでしょうか?テーブル自体にデータがないかどうかを確認するための場合、この関数の使用方法は間違っています。変数 mydt (参照するデータテーブルではありません) に値がないか、空の値があるかどうかがわかります。データテーブルに何も含まれていないことを確認したい場合は、論理チェックとして N Row(mydt) == 0 のようなことを実行します。
Re: for ループ内でテーブルが空の場合は以下の行をスキップする素早いフィードバックと解決策をありがとう。 試してみましたが、更新セクションでエラーが発生しました。
'Data Table' 、データ テーブルのアクセスまたは評価に引数{8}がありません/*###*/ (mydtsummary)
mydt << 更新(
With( データテーブル/*###*/ (mydtsummary) )、
mydt が空のときに Update セクションを処理しているようですが、処理されるべきではありません。 ありがとう
Re: for ループ内でテーブルが空の場合は以下の行をスキップする「!」を使用してロジックを逆にしてみてはいかがでしょうか。これらの行をすべて if ステートメントに挿入しますか?
If( !Is Empty( mydt ),
mydtsummary = Data Table( dt5 ) << Summary(
Group( :BoardNo ),
Max( :starttime ),
statistics column name format( "stat of column" )
);
mydt << Update(
With( Data Table( mydtsummary ) ),
Match Columns( :BoardNo = :BoardNo ),
Add Columns from Update table( :Max of starttime )
);
mydt << select where( :starttime == :Max of starttime ) << invert row selection;
mydt << delete rows;
mydt << delete columns( "Max of starttime" );
Close( mydtsummary, nosave );
Close( mydt, save );
);