テーブルの最後の行でIfステートメントを反復する方法はありますか?dbクエリから作成されたテーブルがあります。 この表の日付/タイムスタンプを使用して、より詳細なクエリの開始/停止時間を決定します。 私たちが抱えている問題は、表の最後にある日付/時刻スタンプが「一致した」セットではない場合があることです。 この表では、どの日付がどの行にあるかを識別するのに役立つ数式列を作成しました。 X_3の最後の2行は、1で終わり、次に0で終わる必要があるパターンがわかっています。
If(dt:X_3[NRow(dt)-1] == 0, dt<< deleteRows(NRow(dt)));
If(dt:X_3[NRow(dt)] == 1, dt<< deleteRows(NRow(dt)));
テーブルが目的の構造になるまで最後の行のみを反復する方法はありますか?
Re:テーブルの最後の行でIfステートメントを繰り返す方法はありますか?数式列内から行を削除するときは注意が必要です。 数式が再評価されるたびに、最後の行が削除されます。 ただし、次のようなものを使用して、列数式の最後の行の論理条件を作成できます。
If( Row() == N Row(Current Data Table()), do this, do that);
あなたの状況では、数式列ではなく別のスクリプトを実行して最後の行を切り捨て、結果のデータテーブルの永続的な機能としてそのコードを残さないようにします。 その場合、スクリプトはあなたが持っているものとほとんど同じように見えます。
Re:テーブルの最後の行でIfステートメントを繰り返す方法はありますか? @cwillden 入力いただきありがとうございます。 2番目のオプションの方が興味があります。 ただし、下部からトリミングする必要がある行の数は異なります。 最後の行を評価し、それを削除して、Elseがtrueになるまでループの「新しい」最後の行のIfステートメントを再評価できることを望んでいました。
Re:テーブルの最後の行でIfステートメントを繰り返す方法はありますか?とりあえずこの投稿のループを閉じるために、 @zetunedav 私たちは実際に同じ会社で働いていることに気付きました:))、会議でこれを解決します。
Re:テーブルの最後の行でIfステートメントを反復する方法はありますか?結局、必要なのはこんな感じでした
While( continue,
If( dt:X_3[N Row( dt ) - 1] == 0,
dt << deleteRows( N Row( dt ) ),
continue = 0
)
);
ありがとう