DataMigrator for i
で Excel ファイルを楽々インポート
【はじめに】
今回のインターネット・セミナーでは、Excel ファイルを IBM i のデータベースにインポートす る⽅法をご紹介します。使⽤するのは DataMigrator for i です。DataMigrator for i は IBM DB2 Web Query for i のオプション機能です。DataMigrator for i は ETL ツールとしての機能を提供しますが、 その⼀つとして広く利⽤されている Microsoft 社の Excel ファイルをソースとしてインポートが できます。Excel ファイルを DB2 for i のテーブルに変換する操作は GUI ツールで簡単に⾏えます。
【事前準備】
ご紹介する⽅法は、以下の環境を前提条件としています。 l IBM i 7.1 以上 l DB2 WebQuery for i 2.2 Standard Edition もしくは Express Edition l DB2 WebQuery for i の DataMigrator for i オプション l DB2 WebQuery for i の Developer Workbench ライセンス l 最新 PTF 適⽤を推奨DataMigrator for i をセットアップして、Windows PC 上で DataMigrator for i(以降 DataMigrator) を⽴ち上げます。(セットアップ⼿順は、巻末の参考資料をご参照ください)
図 1 Data Migrator 画⾯例(データ管理コンソール)
次に Excel ファイルを⽤意します。DB2 for i にインポートするデータですので、以下の条件 で Excel ファイルを⽤意ください。 l 1⾏⽬がヘッダー⾏、2 ⾏⽬以降がデータ⾏ l ヘッダー(カラム名)は英数字 l ファイル形式は.xlsx もしくは.xls l ファイル名は英数字推奨 今回のご紹介では、Navigator for i で CPU 使⽤率のパフォーマンスデータをエクスポートした ファイルを使⽤します。10 カラム、1432 レコードのデータです。上記条件に合うように Excel 上で加⼯しています。なおファイル名は⽇本語でもインポートには問題ありませんが、インポ ート作業時にファイル名が⽂字化けして表⽰されるため、複数ファイルをアップロードした際 に区別が付きにくいため、英数字のファイル名でのアップロードが推奨です。 図 2 サンプルデータ(10 カラム、1432 レコード)
【Excel ファイルを IFS にアップロード】
DB2 for i にインポートする Excel ファイルは、IBM i の IFS(Integrated File System)にアップロ ードしてから DataMigrator でインポートします。FTP 等を使⽤して、任意の IFS ディレクトリー
に先ほどの Excel ファイルをアップロードします。 当資料では、(root)/demo/excelimport/ 配下にアップロードしました。 図 3 Excel ファイルを IFS 上に配置
【DataMigrator で Excel ファイルのシノニムを作成】
DataMigrator のブラウザからシノニムを作成するアプリケーションフォルダを選択して、右 クリックします。右クリックメニューの中から、「新規」→「シノニム(作成または更新)」を 選択します。(図 4)図 4 シノニムの作成を開始 アダプタの中から「Excel(直接取得)」を選択して OK で進みます。(図 5) 図 5 Excel(直接取得)を選択 シノニムデータファイルの選択画⾯で、アップロードした Excel ファイル(Excel ブック)を指 定して次へ進みます。ディレクトリー名だけを⼊⼒して右側の アイコンからファイルを探す こともできます。
図 6 Excel ブックを指定 選択した Excel ブックが表⽰されますので、チェックを⼊れて指定します。シノニム作成の 推奨に従って接頭語(ここでは「excel_」)をつけて次に進んでいます。 図 7 シノニム候補を選択
図 8 のような画⾯が出ますので、シノニム作成を確認します。 図 8 シノニム作成完了を確認 作成されたシノニムの詳細は DataMigrator 上で確認することができます。(図 9) Excel ファイルをインポートすると、⽇付や時間といった元のデータ形式に沿ったフォーマッ トが適⽤されていることがわかります。また、インポートしたカラムからデータ活⽤に有⽤な ⼀時項⽬も⾃動的に作成されています。(⽇付から年、⽉、⽇などの項⽬を⾃動⽣成) 図 9 シノニムの詳細を確認
⼀時項⽬ データフォーマット
【DB2 for i テーブルへの変換フローを作成】
アプリケーションフォルダを右クリックして、「新規」→「フロー」を選択します。(図 10) 図 10 フローを新規作成 図 11 のように、「カラムの選択」の左側に先ほど作成したシノニム(ソース)を配置し、右 側に新規のターゲットテーブルを作成します。(図 11) シノニム(ソース)の配置はブラウザのツリーからドラッグ&ドロップで⾏えます。 ターゲットの追加は「カラムの選択」より右のエリアで右クリックし、「ターゲットの追 加」→「新規」で⾏えます。 図 11 フローの作成 「カラムの選択」をダブルクリックすると図 12 の画⾯が表⽰されます。利⽤可能カラムから 全てを選択(ctrl+A)して右⽮印( )で全てのデータを ETL する設定とします。もちろん、不 要なカラムなどは除外するなど DB2 for i のテーブル設計をカスタマイズもできます。 図 12 カラムの選択 ドラッグ&ドロップ最後にターゲットテーブルのシノニム名、テーブル名を設定します。ターゲットアイコンを右 クリックしてプロパティを開いて編集します。(図 13)
シノニム名:demo/cpu_utilization テーブル名:demo/cpu_util
※シノニム名の”demo”は WebQuery 上のアプリケーションフォルダ(IFS 上のディレクトリー) を⽰しており、テーブル名の”demo”は QSYS のライブラリーを⽰しています。 図 13 ターゲットテーブルのプロパティ編集
【DB2 for i テーブルへの変換を実⾏】
フローメニューを開き、作成したフローを実⾏します。(図 14) 図 14 フローの実⾏環境に依存しますが、今回のテストでは数秒で DB2 for i のテーブルが作成されました。作成さ れたテーブルは 5250 画⾯で確認すると PF として認識されています。また、全レコードが Excel から DB2 for i にインポートされていることも確認できます。 図 15 WRKOBJ と RUNQRY の実⾏画⾯
【補⾜】
ここまでのサンプルでは⽇本語のデータを使⽤していませんでしたが、カラム名が英数字で あれば、レコード内容に関しては⽇本語の Excel ファイルでも同様に DB2 for i テーブルにインポートができます。図 16 にその例を⽰します。もともと IBM i 上にあるサンプルデータの QEOL/TOKMSP(得意先マスター)をデータ転送で PC に Excel ファイルとして⼀旦ダウンロード したものを、先ほどの⼿順で「Excel(直接接続)」のシノニムとして作成し、データのサンプ リングをしたところ、全⾓⽇本語、半⾓カナ含めて正しく表⽰されることが確認できます。
図 16 ⽇本語データのシノニム作成
【まとめ】
今回は DataMigrator for i で、Excel ファイルを DB2 for i のテーブルに変換する⽅法をご紹介し ました。これまでも DDS や CPYFRMIMPF コマンドなどを組み合わせることで Excel ファイルを IBM iに取り込むことはできましたが、DataMigrator for i を利⽤することが、より簡単にスピー ディーに Excel データの取り込みができるようになりました。 データ活⽤が活発化する中、基幹システムのデータと周辺システム(外部)のデータを組み 合わせて⼤量のデータを多⾓的に分析することがビジネスに価値を⽣む知⾒を得るために重要 と⾔われています。多くの場合、データベースと並んで Excel 形式でデータを持たれているか と思います。DataMigrator for i では、それらの経営資源とも⾔える Excel データを簡単に IBM i のデータベース形式に変換できます。また、ベースとなっている DB2 Web Query for i と共通の シノニム管理となっており、取り込んだデータはすぐに DB2 Web Query for i で分析・可視化を 進めることができます。 IBM i であれば基幹業務の安定稼働だけでなく、DataMigrator for i を活⽤いただくことで、周 辺データまで含めたデータ活⽤も⼀台で実現できます。ビッグデータ時代もオールイン・ワン で業務を⽀えるプラットフォームである IBM i をご活⽤いただければ幸いです。