Excelのデータ加工

Excelのデータ加工

Goanywhere2022.11.21

GoAnywhere では、列の追加や削除、情報の更新、1 つの列を複数に分割するなど、データの修正を簡単に行うことができます。これはすべて、Modify RowSetタスクで実現できます。

まず、一般的な列名の調整に関する例から始めましょう。このデモでは、1つのフィールドにファーストネームとラストネームの両方が含まれる列4、「fullname」を分割します。この情報をもとに、ファーストネーム用の列とセカンドネーム用の列を作成し、元の「fullname」列を削除することが目的です。

プロジェクト

この例では、プロジェクト名を "Modify RowSet - ExcelSplitandTransfer" とします。最初のタスクは、SFTPリソースに接続し、testdata.xlsxと呼ばれるファイルを取得します。このプロジェクトは、そのtestdataファイルを読み込んで、レコードを${myRowSet}という行セット変数に格納します。

そして、Modify RowSetタスクを使用し、読み込まれたばかりのレコードを変更します。Modify RowSetは、コンポーネントライブラリのデータ変換フォルダにあります。
このタスクの使用に関する追加情報については、右上のクエスチョンマークをクリックすると、ユーザーガイドの関連ページに移動します。このページには、Modify RowSet の使用に関するフィールド定義と例が記載されています。

このタスクは、入力変数 ${myRowSet} から始まり、修正されると ${myModifiedRowSet} という別の行セット変数にデータが格納されます。この例では、テンプレートを使って各列を定義するので、元の列は必要ありません。したがって、「既存の列から始める」はfalseに設定されています。

 

 

ファーストネームから始まり、インデックス番号1を表す "FirstName MI "という列が作成されます。値の中には、元のレコードを修正するために複数の関数が使用されます。列4に対してSubstring 機能が実行され、カンマのすぐ先の位置から文字列の終わりまで続きます。

次の列はLastNameの列です。これも Substring機能 を使用しており、4番目から始まり、カンマの1つ前の位置で終わります。


住所は、オリジナルファイルの1列目から取得します。市町村、都道府県、電話番号、生年月日はすべて同様に定義されています。

新しい行セットの使用

次のステップは、Write Excelタスクです。これは、${myModifiedRowSet}変数を取り込みます。変数に取り込み、finalexcelfile.xlsxに書き出します。この例では、タスクはテンプレートを使用しており、前もって列の見出しを定義しています。データオプションで、データは2行目から始まります。また、${newModFile}という出力ファイル変数が定義されています。これは後でPGP Encrypt タスクの入力として使われます。

PGP Encrypt and Archiveタスクは、ファイルを暗号化し、別のSFTPサーバーに送信します。

最終結果

下の画像は、プロジェクトの結果です。最初のウィンドウは元のファイルで、下のウィンドウはプロジェクトで修正された結果です。新しいファイルは、Write Excelタスクで指定されたテンプレートでフォーマットされ、Modify Rowsetタスクで定義された新しい列と見出しを含んでいます。

  今回の使用製品「GoAnywhere」