#BaseからCalcでデータ分析
##はじめに
ピボットテーブルをご存知でしょうか?
BaseからデータをCalcに抽出できるのはご存知でしょうか?
みんな意外と知らないものです。
- Base
- 外部データベースのデータを見る
- Calc
- Baseのデータをコピー、編集、ピボットテーブルで分析できる
データベースからデータを取得するためにプログラムを書いていたりする作業は必要ありません。
データベースのデータを分析をするためにはCalcがあればいいのです。
さあ、BaseとCalcでみんなでデータ分析の世界へ。
##Baseで外部データベースに接続
本来はここで、MySQL や PostgreSQL等のデータベースに接続させるといいのですが、
気軽に試せる等の関係上、Baseにデータを用意したものを用意しています。
簡単な説明だけを行います。
そうですね…。
MySQL , PostgreSQLは語り尽くされていると思いますので、
SQL Server 2008R2 ExpressにJDBCで繋ぐ方法を例にとって説明します。
- JDBCドライバの取得
- 解凍しプログラムフォルダに置く
- LibreOfficeにJDBCドライバーの登録
1. LibreOfficeを起動
2. [ツール] > [オプション] > [詳細]
3. Javaオプションの[クラスパス]を押す
4. [アーカイブを追加]を押す
5. SQL ServerのJDBCドライバ sqljdbc4.jarを追加する
6. [OK]で閉じる - Base起動しBaseファイルを作る
- [データベースの選択]
- [既存のデータベースに接続]を選び [JDBC]を選択
- [次へ]
- [JDBC接続のセットアップ]
- [データソースのURL] sqlserver://IPADDRESS:1433;databaseName=dbname
- [JDBCドライバークラス] com.microsoft.sqlserver.jdbc.SQLServerDriver
- [次へ]
- [ユーザー認証のセットアップ]
- [ユーザ名]を入れます。 通常は sa
- [必須パスワード]にチェックを入れる。
- [テスト接続]してみましょう
- パスワードを入力して接続できればOKです。
- [保存して続行]
- [完了]を押します。
- [データベースの選択]
勿論、WindowsであればODBC接続経由で接続が可能です。
しかし、LinuxやMacOSXな方にはJDBC接続は非常に有効です。
これらの環境下ではODBCドライバーは整備されていませんので。
##Baseファイルを登録
今回はデータの入ったBaseファイルを用意しました。
こちらから入手して下さい。
- calcを起動
- データソースを選択
あれ?
渡したBaseのデータが見えないですね。
LibreOfficeに登録する必要があります。
###データソースの登録
- LibreOfficeを起動
- ツール -> オプション
- LibreOffice Baseをダブルクリック
- データベースを選択
- 新規作成を押す
- ブラウズで取得したBaseファイルを選択
- 登録名で分かり易い名前を付ける
- ここでは 売上データ にします。 - OK を押す
これで登録完了です。
Calcのデータソースを見てみましょう。
###Calcからデータを確認
- Calcの起動
- 表示 -> データソース
データソースの内容が見えましたね。
これのデータをピボットテーブルで分析していきます。
通常はデータベースのデータは膨大です。
売上が数十万レコードとかがザラです。
クエリを作成し、そのクエリのデータを見るようにするのが一般的です。
今回は時間の関係とサンプルデータの量が少なすぎるので省略します。
###BaseからCalcにデータを移す
(時間があれば説明する)
- 表示 -> データソース
- データを移したいデータソースを選択
- データソースのクエリー又はテーブルをCalcへ ドラッグ
LibreOfficeのマニュアル通りにデータソースのコピー貼り付けをすると文字化けします。
##Calcでピボット分析
データを眺める。
売上っていくらあるんでしょう?
全体の売り上げを求める
###ピボットテーブルの作成方法
####データソースを選ぶ
- データ -> ピボットテーブル -> 作成
- ソースの選択
- LibreOfficeに登録したデータソース を選択
- データソースの選択
- データベース : 売上データ
- データソース : 売上
- OK を押す
####ピボットテーブルのウインドウ
- 明細金額 をデータフィールドにドラッグ
- OKを押す
これで、全体の売り上げが分かりました。
一瞬ですね。
この中で売れ筋の商品区分は何でしょう?
商品区分ごとの売上合計を出す
###ピボットテーブルの編集
- ピボットテーブルを右クリック
- レイアウトの編集
- ピボットテーブルのウインドウ
- 行フィールド に 商品区分 をドラッグ
- OKを押す
飲料が多いようですね。
一番売上を上げている営業マンは誰でしょう?
社員ごとの売上を出す
###ピボットテーブルの編集
- ピボットテーブルを右クリック
- レイアウトの編集
- ピボットテーブルのウインドウ
- 行フィールド の 商品区分 を何処かにドラッグして捨てる
- 社員を行フィールドにドラッグ
- OK
「森上 偉久馬」という方の売り上げが多いようです。
上得意様はどこでしょう?
得意先名毎の売り上げを出す
###ピボットテーブルの編集
- ピボットテーブルを右クリック
- レイアウトの編集
- ピボットテーブルのウインドウ
- 行フィールド の 社員 を何処かにドラッグして捨てる
- 得意先を行フィールドにドラッグ
- OK
コーヒーの数を数えてくれない?
商品毎の数量の合計を出し、コーヒーで絞り込む
###ピボットテーブルの編集
- ピボットテーブルを右クリック
- レイアウトの編集
- ピボットテーブルのウインドウ
- 行フィールド の 得意先 を何処かにドラッグして捨てる
- 商品をページフィールドにドラッグ
- データフィールドの明細金額を何処かにドラッグして捨てる
- データフィールドに数量をドラッグ
- OK - 商品で コーヒーだけを選択する
325個もあったようです。
ピボットテーブルのイメージを見せる。
#結論
人間はデータだけ集めればいい。
表や集計はピボットテーブルに作らせればいい。