140-160 | データ整理
krewDataでは、指定したレコードを削除することはできません。
しかし、出力アプリコマンドの出力方法を[再作成]とすることで、出力アプリに既に登録されているレコードを全て削除した上で、krewDataの処理結果レコードを出力することができます。
今回は、出力方法を[再作成]を利用する方法を紹介します。
※なお、この方法では、入力アプリコマンドで対象のアプリのレコードを全件取得する必要があります。そのため、入力アプリのレコード数が、処理レコード数の上限を超える場合には、こちらの方法は使用できません。
krewDataオンラインヘルプ – 上限設定
https://docs.krew.grapecity.com/krewdata/#krewdata_limitations.html
1.入力データを設定する
- 入力アプリコマンドを追加し、アプリの選択で現場マスタを選択する
- フィールドの選択で次のフィールドを選択する
・プロジェクト名 ・開始予定日 ・終了予定日 ・担当者・完工フラグ
2.krewDataの処理日の1年前の日付を取得する
- データ編集コマンドにて、下記の数式を設定し、krewDataの処理日の1年前の日付を取得します。
数式:=EDATE(TODAY(),-12)
例:krewDataの処理日が2022/11/28の場合:2021/11/28が取得される。
3.削除対象でないレコードで絞り込む
- フィルタコマンドにて数式を設定し、下記の条件どちらかに該当したレコードの絞り込みを行います。
<絞り込み条件>
・完工フラグに値が設定されていない
・完工フラグに値が設定されているかつ、「終了予定日」より「1年前の日付」の日付が古い
<数式>OR(完工フラグ="",AND(完工フラグ<>"",_1年前の日付<=終了予定日))
5.レコードの出力設定を行う
- 出力アプリコマンドを追加し、アプリの選択で現場マスタを選択する
- 出力方法[再作成]を選択し、出力対象フィールドに各フィールドを指定する
6.実行結果
- 下記の通り、削除フラグが設定されたレコードは削除されます。
※この方法では、削除対象以外のレコードを再作成するため、
レコード番号等が処理前と処理後で変更されますので、ご注意ください。
注意事項
- 削除されたレコードを復旧することはできません。十分に検証を行った上で、設定を行ってください。
- レコードの削除方法として、krewDataの処理で削除対象レコードにフラグを設定し、その後手動でレコードを削除する方法があります。 詳細は、krewDataドリル「レコードを削除する(削除フラグ)」をご参照ください。
サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewdata-drill/basic/dt140-160delete-recre.zip