トップカテゴリー
>
テクニカルFAQ-一般公開向け-
>
DataSpider関連
>
DataSpider Servista
>
DataSpider活用事例 ~【DataSpider】Excelアダプタを使用して条件によって異なるセルへ書き込みたい~
戻る
No : 35894
公開日時 : 2024/05/20 07:27
印刷
DSServista
DSCloud
DataSpider活用事例 ~【DataSpider】Excelアダプタを使用して条件によって異なるセルへ書き込みたい~
読み取ったデータを条件によって異なるセルへ書き込みたいです。どのような方法がありますか。
カテゴリー :
トップカテゴリー
>
テクニカルFAQ-一般公開向け-
>
DataSpider関連
>
DataSpider Servista
トップカテゴリー
>
テクニカルFAQ-一般公開向け-
>
DataSpider関連
>
DataSpider Cloud
回答
[繰り返し(データ件数)] 処理、[条件分岐] 処理、スクリプト変数を組み合わせる方法が考えられます。
以下に具体的なスクリプトの作成例をご紹介します。
▼スクリプト例
▼入力データ例
▼出力データ例
【前提】
入力データの「Country」が日本の場合は「Total」の値を B2 セルに、米国の場合は「Total」の値を B3 セルに書き込みます。
それ以外の場合はデータの書き込みは行いません。
1.ツールパレットより、[CSVファイル読み取り] 処理をデザイナ上に配置し、プロパティにて以下の設定を行います。
2.ツールパレットより、[繰り返し(データ件数)] 処理、[変数代入] 処理をデザイナ上に配置し、「▼スクリプト例」のようにフローを繋ぎます。
この時、[CSVファイル読み取り] 処理と [繰り返し(データ件数)] 処理の間はプロセスフローとデータフローを引きます。
3.スクリプト変数「Country」を作成します。
4.[変数代入] 処理をダブルクリックして Mapperエディタを開き、スクリプト変数「Country」に対して以下のようにマッピングリンクを引きます。
5.ツールパレットより、[条件分岐] 処理をデザイナ上に配置し、必須設定で「追加」ボタンを押下して追加された「条件」項目をダブルクリック → 右の▼ボタンを押下して、以下のように条件を設定します。
6.[条件分岐] 処理の「条件分岐開始」アイコン上で右クリックし、メニューから「条件の追加」を選択して、以下のように条件を設定します。
7.ツールパレットより、[マッピング] 処理を 2つデザイナ上に配置し、「▼スクリプト例」のように、[condition] 処理と [condition(1)] 処理からそれぞれフローを引きます。
また、[繰り返し(データ件数)] 処理と [マッピング] 処理の間にはそれぞれデータフローのみを引きます。
8.ツールパレットより、[セル指定書き込み] 処理を 2つデザイナ上に配置し、プロパティにて以下の設定を行います。
9.[マッピング] 処理と [セル指定書き込み] 処理の間にプロセスフローとデータフローをそれぞれ引きます。
10.[マッピング] 処理をダブルクリックして Mapperエディタを開き、どちらも以下のようにマッピングリンクを引きます。
11.[セル指定書き込み] 処理から [end] 処理までを「▼スクリプト例」のようにフローを繋ぎます。
12.スクリプトを実行し、出力ファイルに想定通りのデータが書き込まれることを確認します。
■参考情報
▼DataSpider Servista
・[繰り返し(データ件数)]
URL:
https://www.hulft.com/help/ja-jp/DataSpider/latest/help/ja/adapter/basic/foreach.html
・[条件分岐]
URL:
https://www.hulft.com/help/ja-jp/DataSpider/latest/help/ja/adapter/basic/condition.html
▼DataSpider Cloud
・[繰り返し(データ件数)]
URL:
https://doc.dataspidercloud.com/latest/help/ja/adapter/basic/foreach.html
・[条件分岐]
URL:
https://doc.dataspidercloud.com/latest/help/ja/adapter/basic/condition.html
目的別で検索
設定