質問
日付ごとに異なるフォルダにあるCSVファイルを読み込む処理で変数を活用した実施方法を教えてください。
また、以下のような手順で実施は可能でしょうか。
1.HULFT Intergrate⇒変数 に変数を定義。
値(例):「:/WS_PoC_DTC/ktei/%{FOLDER}/会員異動データ.csv」
2.スクリプトで[FOLDER]というスクリプト変数を作成し、日付データ(yyyyMMddなど)を代入。
変数の%{FOLDER}に代入する
3.代入してできたパスでCSVファイルとして読み込む。
回答
前提として、HULFT Squareでは、環境変数(%{FOLDER})に対して日付データを指定する
というような処理はできません。
そのため、HULFT Intergrate⇒変数で指定する値にスクリプト変数を設定いただき、
デザイナー上でスクリプト変数を2つ用意いただくことで、 日付ごとに異なるフォルダにあるCSVファイルを読み込む処理が実現可能となります。
なお、以下のスクリプトで変数代入を分割しておりますが、手順4.5.の処理を同じ変数代入内で
組む処理方法では、処理タイミングが重なり、環境変数中のスクリプト変数が正常に
展開できない場合がございます。
これは、同じ変数Mapper内で処理を行う際には、環境変数用のスクリプト変数にも
日付文字列用のスクリプト変数にもまだ値が設定されていない状態のためとなります。
これを回避するには、事前に別の変数Mapperにて日付文字列用のスクリプト変数に
値を設定する必要がございます。
そのため、環境変数内で定義されている、日付の値を事前に手順4で代入した状態で、
手順5にて環境変数をスクリプト変数に代入するという処理順により、変数代入が2つ 配置されております。
【スクリプト構成図】
【手順】
1.HULFT Intergrate⇒変数より、変数を定義。
(設定例)
変数名:9950
値:/L1/data/9000s/9950/${FOLDER}/9950.csv
※/${FOLDER}に日付データが入る想定となります。
2.デザイナーでスクリプト変数(FOLDER)を作成
※初期値は含まない
3.デザイナーでスクリプト変数(フォルダーパス)を作成
※初期値は含まない
4.variable(変数代入)にて、当日の日付データを2.で作成したスクリプト変数(FOLDER)に代入
※日時フォーマッティング:yyyyMMdd
5.variable1(変数代入)にて、[単一行文字列]ロジックに1.で定義した環境変数を指定し、
3.で作成したスクリプト変数(フォルダーパス)に代入
※単一行文字列定数:%{9950}
6.CSV読み取り処理にて、ファイルパスに5.で代入したスクリプト変数(フォルダーパス)を指定
7.スクリプトを実行し、フォルダーパス変数が展開され、CSVファイル読み取りが行えることを確認
コメント
0件のコメント
記事コメントは受け付けていません。