質問
処理スクリプトの中で増えていく値があり、これを保持したいと考えています。
スクリプト変数や変数リソースではスクリプト実行のたびに値が初期化されてしまうのですが、初期化されずに保持・更新をし続ける方法はありますか?
回答
ご認識のとおり、スクリプト変数や変数リソース(環境変数)は、スクリプト実行のたびに初期値が参照される仕様となっています。
代替策の一例として、数値管理用のファイルをストレージに配置する手法をご案内します。
■処理概要
※ここでは、実行のたびに1ずつ増加(インクリメント)する値を保持するものとします。
- 数値管理用のCSVファイルを読み取る
- 読み取った値をスクリプト変数に代入する
- 読み取った値に1を足す
- 元CSVファイルに足した値を上書きする
■実装イメージ
■実装手順
- データとして「0」(または任意の初期値)を書き込んだCSVファイルを用意し、ストレージに配置します。
- スクリプトに、[CSV読み取り処理]、[変数代入]、[マッピング]、[CSV書き込み処理]を配置します。
また、スクリプト変数も作成します。
※メインで行う処理は、変数代入とマッピングの間に配置してください - [変数代入]では、読み取ったCSVの値をスクリプト変数に代入します。
- [マッピング]では、スクリプト変数の値に対して計算を行い、CSVファイルに値を上書きします。
ここでは、[足し算]ロジックを用いて[数値定数]ロジックで設定した1を加算する処理を行います。
補足
保持する値を「0000001」のように所定桁の数値にしたい場合などは、マッピングにて[数値フォーマッティング]ロジックを追加することで対応可能です。
例のように0を含めて7桁を表示させるには「0000000」を指定してください。
コメント
0件のコメント
記事コメントは受け付けていません。