第9回:実践!DBテーブルデータ抽出

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar

使用ソフトウェア:DataMagic for Windows Ver.2.2.2
今回はDBからデータを抽出し、CSV形式に変換する方法をご紹介します。
※下記バージョンのDataMagicについては、次の記事をご参照ください。
DataMagic 実践!DBテーブルデータ抽出(Ver.3.0.0)

はじめに

こんにちは、メディアフォースの佐渡です。

ここ数年「ビッグデータ」が新たなキーワードとして注目され、企業内におけるデータの重要性が益々高まっています。
企業内にはあらゆるデータが散在していますが、例えば、これらのデータを分析する場合、特徴的な課題の一つに“データの収集・加工”が挙げられます。

DataMagicであれば、DBから簡単にデータを抽出し、データ分析に適した形式でのファイル出力が可能です。
本連載記事では、DBからデータを抽出し、CSV形式に出力する方法をご紹介します。

【処理イメージ】

事前準備

まずは、変換元となるDBのデータを用意します。

サンプルデータ(SQLite)

本記事において、DBはSQLiteを使用して説明をします。
事前準備として、上記サンプルデータ(SQLite)を、「C:\work\SAMPLE10\」に格納してください。
このDBファイルには、P_MASTERというテーブルが定義されており、下記データが格納されております。


※SQLiteとは
SQLiteは、OracleやSQL Serverのようにサーバ・クライアント構成ではなく、ファイルを直接読み書きするタイプのDBです。
サーバを必要としないため、別途データベースをご用意いただくことなく、本ファイルのみでDBのデータ抽出をお試しいただけます。

手順

Step01

入力の定義情報を作成します。DBの定義情報は、下記2つの設定を行う必要があります。
  1. DB接続情報の設定: データベースに接続するための情報を定義します。
  2. DBテーブル情報の設定: DBのテーブルと項目のレイアウトを定義します。
まずは、「1. DB接続情報の設定」を行いましょう。

タブボタンの「アダプタ」にある「DB接続」を指定後、「新規作成」をクリックします。

Step02

DB接続情報詳細画面が起動したら、下記画面を参考に各項目を設定し、適用ボタンをクリックして保存します。



※接続テストボタンをクリックすることで、DBへの接続テストを行うことができます。

項目名 説明
ID DB接続情報を識別するためのIDを指定します。
製品種別 接続先データベースの種別を選択します。今回はSQLite3を選択します。
漢字コード種 接続先データベースの漢字コード種を選択します。今回はSHIFT-JISを選択します。
DB名 接続するデータベース名を設定します。事前準備にて格納したSQLiteのDBのファイルパスを設定します。

これで、「1. DB接続情報の設定」は完了です。

Step03

次に、「2. DBテーブル情報の設定」を行います。

タブボタンの「アダプタ」にある「DBテーブル」を指定後、「新規作成」をクリックします。

Step04

DBテーブル情報詳細画面が起動したら、下記画面を参考に各項目を設定し、項目取得ボタンをクリックします。



項目名 説明
ID 登録したDBテーブル情報を識別するためのIDを指定します。
DB接続ID DBテーブル情報を使用する際に接続するデータベースのIDを設定します。
今回はStep02で作成したsqliteを設定します。
入出力区分 入力用の設定か出力用の設定かを選択します。
指定方法 入出力用SQL文の生成方式を選択します。今回は簡易指定を選択します。
  • 簡易指定:指定したパラメータにしたがって、SQL文を内部で生成します。
  • SQL文指定:発行するSQL文を直接指定します。
テーブル名 入出力の対象となるテーブル名を設定します。今回はP_MASTERを設定します。

これで、「2. DBテーブル情報の設定」は完了です。

Step05

DBテーブル項目取得画面に、指定したテーブルのレイアウトが表示されます。
OKボタンをクリックすると、確認画面が表示されますので、OKボタンをクリックしてください。

Step06

DBテーブル情報詳細画面に、P_MASTERテーブルのレイアウトが反映されたら適用ボタンをクリックして保存します。



これで、入力の定義情報の作成は完了です。

Step07

次に、出力の定義情報を作成します。CSVの定義情報の作成は、下記の設定をする必要があります。
  1. CSV情報の設定: CSVの項目のレイアウトを定義します。
それでは、「1. CSV情報の設定」を行います。
タブボタンの「アダプタ」にある「CSV」を指定後、「新規作成」をクリックします。

Step08

CSV情報詳細画面が起動したら、下記画面を参考に各項目を設定し、適用ボタンをクリックして保存します。



項目名 説明
ID 登録したCSV情報を識別するためのIDを設定します。
囲み文字 文字列データに付加する囲み文字を選択します。今回は、0x00を選択します。
区切り文字 各項目を区切る区切り文字を選択します。今回は、0x2cを選択します。
項目名 項目名を設定します。

これで、「1. CSV情報の設定」は完了です。

Step09

次に、データ加工情報を作成します。

ここでは、どのようなタイプの入力ファイルを、どのようなタイプのファイルとして出力するのか、また、どういった条件のデータを出力するかなど、データの変換を行うための条件を設定します。

タブボタンから「データ加工」を指定し、操作メニューから「新規作成」をクリックします。

Step10

次に、変換対象の入力ファイルの設定を行います。

データ加工情報設定画面が表示されます。任意のIDを入力し、入力と書かれたボタンをダブルクリックします。

Step11

入力設定画面が起動したら、下記画面を参考に各項目を設定し、その後OKボタンをクリックします。



項目名 説明
形式 どのようなタイプの入力の形式を行うか選択します。今回はDBテーブルを選択します。
ID DBテーブルIDを設定します。Step06で作成したSAMPLE10_INを設定します。
数値バイトオーダ 入力ファイルの数値バイトオーダを選択します。
数値項目NULL値の扱い 入力データにNULL値があった場合、空文字として扱うか、0に置き換えるかを選択します。
入力0レコードの扱い 入力データの0レコードだった場合の動作を選択します。


これで、「入力ファイルの設定」は完了です。

Step12

次に、データの抽出条件の設定を行います。
入力設定画面の設定が終わると新たに抽出情報が作成されます。

抽出情報のボタンをダブルクリックします。

Step13

抽出条件設定画面が表示されます。下記画面を参考に設定を行い、OKボタンをクリックして保存します。
※今回は、すべてのレコードを抽出する条件としています。



これで、データの抽出条件の設定は完了です。

Step14

次に、変換対象の出力ファイルの設定を行います。

出力と書かれたボタンをダブルクリックします。

Step15

出力設定画面が起動したら、下記画面を参考に各項目を設定し、OKボタンをクリックして保存します。


項目名 説明
形式 どのようなタイプの出力の形式を行うか選択します。今回はCSVを選択します。
ID CSVのIDを設定します。Step07で作成したSAMPLE10_OUTを設定します。
文字データの後スペースの扱い 文字データの後ろにあるスペースの扱い方法を選択します。
数値データの前ゼロの扱い 数値データの前ゼロの扱い方法を選択します。
出力先設定 出力先の指定方法を選択します。今回は、"固定値"を指定します。
ファイル名には、出力ファイルの絶対パスまたは相対パスで設定します。
タイトル行を出力する 「ID」に設定したアダプタ情報の項目名をタイトル行として出力ファイルに出力するか否かを選択します。
出力ファイルの切り替え 出力ファイルの切り替えを行うかどうかを選択します。
出力ファイルが0バイトの場合削除する 出力ファイルが0バイトだったとき、出力ファイルを削除する場合に選択します。

これで、出力ファイルの設定は完了です。

Step16

次に、入力ファイル・出力ファイルの項目間のマッピング処理を定義します。

抽出条件と出力条件を結び、灰色に反転しているオレンジ色の○をダブルクリックします。

Step17

マッピング情報設定画面が表示されます。下記画面の参考に入力項目と出力項目のマッピング線を結び、OKボタンをクリックします。



これで、データ加工情報の設定はすべて完了です。

Step18

それでは実行してみましょう。画面の実行ボタンをクリックします。

Step19

実行すると下記画面が表示されますので、出力ファイル生成モードを確認し、実行ボタンをクリックします。
正常終了しましたら出力ファイルを確認してください。

Step20

下記は変換後の出力ファイルです。
CSV形式のデータに変換されていることが確認できました。

さいごに

いかがでしたでしょうか。DBからデータを抽出する操作方法のイメージはつかめましたでしょうか?
スクラッチで1から開発するより断然早いことがわかっていただけたと思います。

今回はDBからのデータ抽出を紹介しましたが、DBへのINSERT,UPDATEも勿論可能です。設定に関しては、SQLを意識せず簡単に連携を実現する「簡易指定」と、データの入出力において発行するSQLを任意に指定する「SQL文指定」の2つの設定方法を用意しており、簡単なことから複雑なことまで幅広く実現することができることも特徴です。

次回は、パック⇔ゾーン変換を実践します。

サンプルデータ

サンプルデータはzip形式での提供となります。解凍してからご利用ください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント