Help us understand the problem. What is going on with this article?

LibreOffice BaseからCalcでピボットデータ分析

More than 5 years have passed since last update.

BaseからCalcでデータ分析

はじめに

ピボットテーブルをご存知でしょうか?
BaseからデータをCalcに抽出できるのはご存知でしょうか?
みんな意外と知らないものです。

  • Base
    • 外部データベースのデータを見る
  • Calc
    • Baseのデータをコピー、編集、ピボットテーブルで分析できる

データベースからデータを取得するためにプログラムを書いていたりする作業は必要ありません。
データベースのデータを分析をするためにはCalcがあればいいのです。

さあ、BaseとCalcでみんなでデータ分析の世界へ。

Baseで外部データベースに接続

本来はここで、MySQL や PostgreSQL等のデータベースに接続させるといいのですが、
気軽に試せる等の関係上、Baseにデータを用意したものを用意しています。
簡単な説明だけを行います。

そうですね…。

MySQL , PostgreSQLは語り尽くされていると思いますので、
SQL Server 2008R2 ExpressにJDBCで繋ぐ方法を例にとって説明します。

  1. JDBCドライバの取得
  2. 解凍しプログラムフォルダに置く
  3. LibreOfficeにJDBCドライバーの登録 1. LibreOfficeを起動
    1. [ツール] > [オプション] > [詳細]
    2. Javaオプションの[クラスパス]を押す
    3. [アーカイブを追加]を押す
    4. SQL ServerのJDBCドライバ sqljdbc4.jarを追加する
    5. [OK]で閉じる
  4. Base起動しBaseファイルを作る
    1. [データベースの選択]
      • [既存のデータベースに接続]を選び [JDBC]を選択
      • [次へ]
    2. [JDBC接続のセットアップ]
      • [データソースのURL] sqlserver://IPADDRESS:1433;databaseName=dbname
      • [JDBCドライバークラス] com.microsoft.sqlserver.jdbc.SQLServerDriver
      • [次へ]
    3. [ユーザー認証のセットアップ]
      • [ユーザ名]を入れます。 通常は sa
      • [必須パスワード]にチェックを入れる。
      • [テスト接続]してみましょう
      • パスワードを入力して接続できればOKです。
    4. [保存して続行]
      • [完了]を押します。

勿論、WindowsであればODBC接続経由で接続が可能です。
しかし、LinuxやMacOSXな方にはJDBC接続は非常に有効です。
これらの環境下ではODBCドライバーは整備されていませんので。

Baseファイルを登録

今回はデータの入ったBaseファイルを用意しました。

こちらから入手して下さい。

  1. calcを起動
  2. データソースを選択

あれ?

渡したBaseのデータが見えないですね。

LibreOfficeに登録する必要があります。

データソースの登録

  1. LibreOfficeを起動
  2. ツール -> オプション
  3. LibreOffice Baseをダブルクリック
  4. データベースを選択
  5. 新規作成を押す
  6. ブラウズで取得したBaseファイルを選択
  7. 登録名で分かり易い名前を付ける
    • ここでは 売上データ にします。
  8. OK を押す

これで登録完了です。
Calcのデータソースを見てみましょう。

Calcからデータを確認

  1. Calcの起動
  2. 表示 -> データソース

データソースの内容が見えましたね。
これのデータをピボットテーブルで分析していきます。

通常はデータベースのデータは膨大です。
売上が数十万レコードとかがザラです。
クエリを作成し、そのクエリのデータを見るようにするのが一般的です。
今回は時間の関係とサンプルデータの量が少なすぎるので省略します。

BaseからCalcにデータを移す

(時間があれば説明する)
1. 表示 -> データソース
2. データを移したいデータソースを選択
3. データソースのクエリー又はテーブルをCalcへ ドラッグ

LibreOfficeのマニュアル通りにデータソースのコピー貼り付けをすると文字化けします。

Calcでピボット分析

データを眺める。
売上っていくらあるんでしょう?
全体の売り上げを求める

ピボットテーブルの作成方法

データソースを選ぶ

  1. データ -> ピボットテーブル -> 作成
  2. ソースの選択
    • LibreOfficeに登録したデータソース を選択
  3. データソースの選択
    • データベース : 売上データ
    • データソース : 売上
    • OK を押す

ピボットテーブルのウインドウ

  1. 明細金額 をデータフィールドにドラッグ
  2. OKを押す

これで、全体の売り上げが分かりました。
一瞬ですね。

この中で売れ筋の商品区分は何でしょう?
商品区分ごとの売上合計を出す

ピボットテーブルの編集

  1. ピボットテーブルを右クリック
  2. レイアウトの編集
  3. ピボットテーブルのウインドウ
    • 行フィールド に 商品区分 をドラッグ
    • OKを押す

飲料が多いようですね。

一番売上を上げている営業マンは誰でしょう?
社員ごとの売上を出す

ピボットテーブルの編集

  1. ピボットテーブルを右クリック
  2. レイアウトの編集
  3. ピボットテーブルのウインドウ
    • 行フィールド の 商品区分 を何処かにドラッグして捨てる
    • 社員を行フィールドにドラッグ
    • OK

「森上 偉久馬」という方の売り上げが多いようです。

上得意様はどこでしょう?
得意先名毎の売り上げを出す

ピボットテーブルの編集

  1. ピボットテーブルを右クリック
  2. レイアウトの編集
  3. ピボットテーブルのウインドウ
    • 行フィールド の 社員 を何処かにドラッグして捨てる
    • 得意先を行フィールドにドラッグ
    • OK

コーヒーの数を数えてくれない?
商品毎の数量の合計を出し、コーヒーで絞り込む

ピボットテーブルの編集

  1. ピボットテーブルを右クリック
  2. レイアウトの編集
  3. ピボットテーブルのウインドウ
    • 行フィールド の 得意先 を何処かにドラッグして捨てる
    • 商品をページフィールドにドラッグ
    • データフィールドの明細金額を何処かにドラッグして捨てる
    • データフィールドに数量をドラッグ
    • OK
  4. 商品で コーヒーだけを選択する

325個もあったようです。
ピボットテーブルのイメージを見せる。

結論

人間はデータだけ集めればいい。
表や集計はピボットテーブルに作らせればいい。

arachan@github
情報システムという名の雑用係 社内のパソコンをADなしで集中管理したいために PowerShellを少し嗜む。 プログラムよりもUBCD使ってPCを修理するのが得意な逸般人 最近、Win7マシンに軒並み入れ替わったので、 修理マシンがなく、プログラムに精を出し始めたが、 大して何も作れてないマン。 Excel方眼紙とネ申FileMakerが大っ嫌い。
http://arachansan.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした