第14回 Excel連携をやってみよう

エクセル活用のメリット

これまでの連載で業務IT化は受注情報や購買情報、日報処理など、データを登録したり編集したり、参照する事がほとんどであり、その為のSQL文とMZの構築方法をお伝えしてきた。その中で第7回で実践した「Select文」はシステム構築が進むにつれて集計や演算で算出する事が多くなってくる為、中級レベル以上になってくると複雑で多岐に亘りMZだけで構築することが厳しくなってくる。MZで取得したデータをエクセルにダイレクトに出力する事によって、この難しさを回避出来る様になる。

セットアップ

◎MySQL ODBCドライバーの設定
1:https://dev.mysql.com/downloads/connector/odbc/へアクセスしダウンロードを実施
2:タイトル:MySQL Community Downloads にある Connector/ODBC 8.0.xxのLooking for previous GA versions? をクリック
 ※新しいバージョンは起動しない可能性があるため
3:タイトル:Connector/ODBC 5.3.xx の Windows(x86.32bit) MSI Installer Downloadをクリック
(64bitのPCでも32bitを選択すること)
4:LoginやSignUpの画面に切り替わるので該当者はそちらを、特に無い人は「No thanks,just start my download」をクリック
5:ダウンロード始まるので終了後、ダウンロードファイルからインストーラーを起動する。 
6:Next押下
  ・License Agreement画面で 「I accept the terms in the licence agreement」を選択しNext押下
  ・Setup Type 画面で 「Typical」を選択 Next押下
  ・Ready to Install the Program画面でinstallを押す
    ・終了したら「Finish」で終わり 
7:コントロールパネル⇒管理ツール⇒ODBCデータソース(32ビット)をクリック
 ⇒ODBCデータソース アドミニストレータ(32ビット)が開くので「追加(D)」をクリック
 「MySQL ODBC 5.3 ANSI Driver」を選択
8:Connector/ODBCのセットアップ
 ・Data Source Name:MZ(任意)
 ・Description:なし
 ・TCP/IP Server:なし 
 ・Port:3306※
 ・User:root※
 ・password:root※
 ・Database:mz※
 ※第3回の初回セットアップで変更した方はその値を入れる事!※
9:テストボタンを押して「Connection Successful」で成立。

エクセルへデータの展開方法

・エクセルを起動
 ⇒メニューバー「データ」を選択
 ⇒データの取得
 ⇒その他のデータソースから(O
 ⇒Microsoft Queryから(M
 ⇒データソースの選択画面が出る。
・先程ODBCで設定したData Source Nameがあるので選択する。
・現在登録してあるだけのデータベースのテーブルリストがあるので取得したいテーブルを選択する(この時点では「company」)
・左側のスタッフを選択し真ん中にあるボタン「>」を押すと右側にデータベース情報列名一覧が移動する。次へ(N)押す
・条件分岐が設定出来る、(今回は無視)。次へ(N)押す
・優先キーを設定出来る、(今回は無視)。次へ(N)押す
・クエリの編集有無を選択出来る、(今回は無視)。「Microsoft Excelにデータを返す(R)」を選択。「完了」押す
(※将来的にはここである程度、取得するデータを絞る必要が出てくる為、簡素ながらSQLの知識が必要になってくる)
・エクセルシートの何処にデータを払い出すか聞いてくるので指定すると(左上A1を選べばよい)データが抽出される。

これでデータベースからエクセルへデータを取得する一連の流れとなる。MZのみでデータをSelectしてテーブルに情報を展開する場合はSQLで全てデータを整えてから排出しないと見てる人が使い易い情報にならないが、エクセルの場合はとりあえず、データを取得すればその値を基に算出したり、集計したり、グラフ化したり、仮計算(もし80%だったら・・、1.2倍だったら・・)など汎用性が高い。その上、SQL文も難しい分岐やIF文を多用せずとも、ある程度使える情報を楽に得られて活用出来る。

まとめ

MZとエクセル連携はこれで完了である、入力インターフェイスをMZで、分析や検証をエクセルで実行しても社内運用が満たせるのであれば、今回の方法でも十分よいと思う。社内全体で共有したい情報をMZで提示して、セクション毎に異なる情報を希望する場合はエクセルで生データを渡した方がお互いラクでもある。(都合上掲載出来なかったが・・)今回は情報の払い出しに注力したが、逆にエクセル情報をワンクリックでデータベースへ投入する方法もある、一行一行データを登録するのが面倒な場合に大変効果的である。

次回はとりあえず最終回。構築したMZシステムを社内全体で展開する方法と簡素なSQLをお伝えする。