こんにちは。
キャスレーコンサルティングSI(システム・インテグレーション)部の山本です。
今回は、近年注目されるようになった「BIツール」についてご紹介したいと思います。
BIツールとは
BIツールのBIはBusiness Intelligence(ビジネスインテリジェンス)の略で、蓄積された様々なデータを集約し、
チャートやグラフなどを使い可視化させることで、現状の把握および今後の意思決定など、
分析を行う際に大変便利なツールです。
従来では、分析したい情報を抽出、加工、出力する際にはシステム部門が新たに開発する必要がありましたが、
BIツールを使用することでシステムに詳しい知識がなくてもデータ分析が可能になります。
BIツールは感覚的に操作が出来る為、初めて触る人でも抵抗なく使用出来るのではないかと思います。
BIツールはいくつかありますが、代表的なものをいくつかあげてみますと、
・QlikView
・Tableau
・Dr.Sum EA
・Pentaho
などがあり、今回は上記の中から「QlikView」という製品を使って簡単なBIツールの操作感をお伝え出来ればと思います。
BIツールの導入
QlikViewでは、個人利用に限っては無料版でもフル機能を無期限で使用することが出来ます。
※インストール前にアカウント登録が必要
ダウンロード先:http://global.qlik.com/jp/explore/products/qlikview/free-download
会員情報を入力し「Get QlikView」を押下すると、入力したメールアドレスに
ダウンロードのリンクが送付されるのでQlikViewのダウンロードおよびインストールします。
QlikViewを起動
インストールが完了したら、早速QlikViewを起動します。
新規作成のアイコンを選択します。
新規作成のアイコンを選択すると以下の画面が表示されます。
本画面に沿って入力していくと初期表示の時からチャートや図形の描画が表示されます。
今回は全て1から作成していきたいと思うので、閉じるボタンを選択します。
この画面がQlikViewのデータ表示する画面になります。
この画面に抽出したデータを元にチャートや図形などを作成し、分析したい形にまとめていきます。
ロードスクリプトの作成
では、データの抽出方法ですが、「ロードスクリプトの編集」というアイコンを選択します。
以下の画面が表示されます。
デフォルトでいくつか定数が宣言されていますが、ここでデータ抽出のプログラムを記載していきます。
QlikViewでは、DB(ODBCもしくはOLE DB接続)、Excelやcsv、xmlなどからデータを読み込むことが出来ます。
今回はDBとcsvファイルからデータを抽出し、チャートやグラフを作成していきたいと思います。
まずは、DBからデータを抽出していきたいと思います。
DBはPostgreSQL4.0.1を使用しており、今回はODBCを使って接続しますが、
ODBCの設定については割愛させて頂きます。
(32bitのOSであれば[C:\Windows\System32\odbcad32.exe]を実行することで、RDBMSへの接続設定が出来ます。)
では、画面下のデータベースから「ODBC」を選択し、”接続”ボタンを選択します。
“データソースへ接続”という画面が表示され、ODBCの設定がされている接続先については、データソースに表示されます。
データソースの接続先に対するユーザIDおよびパスワードを入力すると以下のようなCONNECT情報が記載されます。
これでデータベースからデータ抽出する準備は完了です!
では早速、接続したデータベースからデータを抽出してみましょう。
下記の例では、QlikViewで使用するテーブルとして「支店マスタ」という名前を定義します。
DBからはSQLステートメントを使用して、「branch_master」テーブルから
支店ごとに設定されているID(branch_id)と支店名(branch_name)を抽出します。
抽出したデータ は、LOADステートメントを使用してQlikViewで定義した項目にデータをロードします。
下記の例では、「支店マスタ」テーブルに「支店ID」と「支店名」という別名を付けて、
branch_idとbranch_nameのデータをロードしています。
ロードしたことによって以後、支店マスタ情報が必要な場合、
DBへの接続をせずに内部で保持している「支店マスタ」テーブルを参照すればよくなります。
※QlikViewではDBからとってきた値をロードスクリプト内で加工して独自のDWH(データウェアハウス)を
作成していく事が可能で、DBに手を入れずにデータを形成していくことも出来ます。
では、次にcsvからデータを抽出してみたいと思います。
(今回は、各支店のID、売上、日付が記録されたcsvを使用します。)
画面下のファイルデータから「テーブルファイル」を選択します。
ファイルウィザード画面が表示されるので、読み込むファイルの種類等選択していきます。
終了を選択すると、ロードスクリプト画面にLOAD文が自動で記載されます。
では、ロードスクリプトをロードしてみましょう。
画面上部のメニューにある「リロード」を選択します。
※新規作成後に1度も保存することなくリロードを実行した場合、
ファイル保存のダイアログが表示されます。
ロードスクリプトの処理が実行されます。
処理が完了すると、読み込んだデータの項目が表示されます。
ここで項目に何も表示されない場合はデータ抽出に失敗しているので、ロードスクリプトに誤りがある可能性が高いです。
余談ですが、こういったときの原因究明の為に、ロードスクリプトの実行ログを出力しておくことをオススメします!
設定は「ドキュメントプロパティ」⇒「基本設定」タブにある”ログファイルの生成”にチェックを入れるだけです。
実行ファイルと同じディレクトリにlogファイルが出力されます。
では、今回は何も追加せずOKボタンを選択します。
ここで1つ、テーブルがどのように関連づいているかをメニューから「ファイル」→「テーブルビューアー」で確認しておきましょう。
ここが大事なポイントでもあるのですが、QlikViewでは、同じカラム名が自動で紐づきます。
そのため、カラム名に注意していないと予期しないところで勝手に関連付けされてしまう、
あるいは関連付けされていなかったなど、分析にデータが正しく表示されないことがあります。
シートオブジェクトの追加
想定通り関連付けされているので、チャートを作成していこうと思います。
テーブルビューアーは「OK」ボタンをクリックして画面を閉じてから、
メイン画面で右クリックの「シートオブジェクトの追加」⇒作成するオブジェクトを選択します。
今回は「マルチボックス」と「チャート」を作成していきます。
まずは「マルチボックス」から。
マルチボックスは、表示する条件を絞りたい時に使用するオブジェクトです。
今回は、支店と日付で絞ろうと思いますので、支店名と売上日をマルチボックスに表示させます。
項目から「支店名」と「売上日」を選択し、「追加」ボタン→「OK」ボタンを押すだけでマルチボックスが作成されます。
ここでもう1つ余談ですが、QlikViewではロードスクリプトの中で取得した様々なデータを加工して
独自のDWHを作ることが可能とお伝えしましたが、マルチボックスやチャートなどのオブジェクト単位でもデータの加工が可能です。
たとえば今回取得した、「売上日」は年月日の値となっていますが、
毎月1日のデータのみ表示したい場合、「年」「月」「日」の単位に分割する事で可能になります。
「数式」ボタンを選択し、データを加工していきます。
QlikViewにはデータを操作する為の様々な関数が用意されており、今回は「年」「月」「日」の単位に分割したいので「Year」「Month」「Day」の関数を使用しました。
Month、Dayも同じやり方で実施し、以下のような表示項目としました。
ここで1つ注意点としまして、数式で表示項目を追加した場合、
マルチボックスに表示される項目名が数式となってしまうため、分かりやすい名前を設定します。
画面下のラベルという項目に記入したテキストが項目名となるので、分かりやすい項目名を記載しましょう。
こういったように、QlikViewではデータ抽出後にも加工が可能で、
様々な関数が用意されており自由度の高い設計がされています。
では、OKボタンを選択しメイン画面に作成されたマルチボックスを確認してみましょう。
マルチボックスが出来てますね!
続いてチャートの作成も実施していきたいと思います。
今回は各支店の日ごとの売上を表示するチャート作成していこうと思います。
「チャート」ではチャート、グラフ、ピボットテーブルなど様々な種類をサポートしています。
今回は、「ピボットテーブル」を選択します。
軸には「売上日」「支店名」を設定します。
数式には「売上金額」を設定します。
※売上金額を計算させる為、SUM関数を使用。
「OK」ボタンを押下すると、チャートが作成されます。
売上情報に表示されている値は何も条件を絞っていないので、取得した全てのデータが表示されています。
売上情報を以下の条件で表示させ、チャートの色付けや、メイン画面デザインの変更など見栄えなども考慮してみました。
※絞りこみ条件:1015年7月の「千葉支店」「東京支店」「神奈川支店」の売上金額
以上がデータ抽出からチャート作成、操作までの基本的な流れになります。
最後に
BIツールの使い勝手やどんなことが出来るようになるかイメージが少しでも伝わりましたでしょうか?
まだまだやれることはたくさんあるのですが今回は入門編ということで、
もう少し複雑な使い方などは次の機会に紹介出来ればと思います。
BIツールはあくまで分析するためのツールであって答えがあるわけではありません。
様々な分析から新しい発見がありますように。
最後までご高覧頂きまして有難うございます。