【Power BI 構想編】自分専用の本棚を作ろう|紙/電子の蔵書を一括管理

これまで蔵書管理にはブクログ(古くはMediaMarker)を利用してきました。

しかし最近は、紙の書籍だけでなく、KindleやKobo、hontoなど電子書籍も増加。
子供と読んだ絵本や雑誌も含めると登録冊数は700冊を超えました。

すると、

  • この本は持っていたっけ?
  • Kindle版だったか紙だったか?
  • 読み終わったのはどれだ?
  • 次にどの本を読むべきか?

と、自分でも把握しづらい状態になっていました。

そこで今回は、Power BIを活用して「自分専用の本棚ダッシュボード」に挑戦します。

本記事では、まず全体構想について整理していきます。

完成イメージ

最終的には、画像のような本棚ダッシュボードを目指しています。

試作段階のPower BIデスクトップ画面

本棚(マトリックス)から気になる本をクリックすると、

  • タイトル
  • 表紙画像
  • 媒体(紙・Kindleなど)
  • 読書状況
  • 評価
  • 所持状態
  • レビュー

などを表示できる仕組みです。

紙書籍と電子書籍を横断管理し、「今読みたい本」、「再読したい本」、「積読本」を整理できる本棚を目指します。

なぜPower BIなのか

もちろんExcelでも蔵書管理は可能です。

しかし冊数が増えてくると、

  • 表紙画像を一覧表示したい
  • 条件を指定して瞬時に絞り込みたい
  • 読了状況媒体(紙/電子)を横断管理したい

といった要求が出てきます。

表紙画像をタイル状に並べ、クリックで詳細を開く」、
こういった本棚の感覚はExcelでは再現が難しく、データ管理とビジュアル表示を分離できるPower BIだからこそ実現できると考えました。

整理の目的

蔵書の見える化

蔵書数が増え、紙・Kindleなど複数の媒体に分散してくると、

  • 何を持っているか
  • どの媒体で持っているか
  • そもそも所持しているか

が分かりづらくなります。

同じ本の購入を防ぐためにも、まずは見える化が必要です。

読了状況の把握

登録数が増えると、読書記録も徐々に曖昧になってきます。

読み終わった本」、「読みかけの本」、「積読本」を整理し、
次に読む本」を明確にしていきます。

また、今の自分には「不要な本」や「優先順位が低くなった本」も整理します。

興味・関心の棚卸し

本棚ダッシュボードは、その時々の興味や関心を映す鏡です。

フィルタリングや並べ替えを行い、表紙を眺めながら、

  • 今読みたい未読本
  • 再読したい本
  • 興味があるテーマ

を把握できると、自ずと次にどれを読むべきかが決まるはずです。

また、「出張や旅行前にKindleで読める本だけ表示する」といった使い方も想定しています。

自分軸での再整理

ブクログ単体でも蔵書管理は可能です。

しかし、

  • 独自の分類を追加
  • 一括での編集
  • 後から管理項目(属性)を追加

といった用途では少し不便です。

そのため、

  • Excelで属性を管理
  • Power BIで一覧表示や検索

と役割を分担し、自分専用の本棚ダッシュボードを構築することとしました。

設計思想

蔵書データをブクログへ集約

基本方針は、「すべての蔵書情報をブクログへ集約する」です。

まずは各媒体に散らばっている蔵書データを集めます。

実施内容

  1. Kindleデータを抽出
  2. 紙書籍をブクログアプリでスキャン
  3. Kindleデータをブクログへ登録
  4. 統合後のブクログデータをダウンロード

元データは編集しない

今回の設計で最も重視している考え方です。

ブクログからダウンロードしたデータは直接編集せず
独自に追加したい情報は別テーブルで管理します。

元データへ手作業で情報を追記すると、ブクログ側を更新して再ダウンロードした際に、再入力の手間や転記ミスが発生しやすくなります。

そこで、元データと独自属性を分離し、Power BI上で紐付ける構成としました。

この方法であれば、元データはいつでも最新データへ置き換えることができ、メンテナンス性の高い運用が可能になります。

ファイル構成

Power BIでは、以下の3つのファイルを読み込みます。

booklog_export.csv

ブクログからダウンロードした蔵書データ。
このファイルは編集せず、ブクログ側を更新したら再ダウンロードして置き換えるだけです。

Dim_BookAttributes.xlsx

独自に追加したい情報(属性)を管理するファイル。

例えば、

  • 媒体
  • 再読要否
  • 所持状態

などを管理します。

書籍を特定するためのISBNをキーとして、ブクログデータと紐付けます。

Dim_ImageURL.xlsx

ブクログの書籍IDをキーとして、ブクログの表紙画像URLを管理するファイル。

ブクログAPIから画像URLを取得し、Power BIで表紙画像を表示するために利用します。

データモデリング

Power Queryで整形し、Power BIへ読み込みます。

メインテーブル

メインとなるテーブルは4つです。

F_BookLibrary

ブクログから取得した蔵書データ。

D_BookAttributes

独自属性を管理するマスタ。

Dates

読書開始日や読了日などの分析用日付テーブル。

D_Image

表紙画像テーブル。

補助テーブル

Work_MissingAttributes

属性未登録の書籍だけを抽出する作業用テーブルです。

新しい本をブクログに登録しても、属性管理ファイル(Dim_BookAttributes.xlsx)にデータは反映されません。

そこで当該補助テーブルに未登録の書籍だけを抽出し、
属性管理ファイルへコピーして必要項目を入力します。

毎回全件を確認する必要がなく、更新作業を簡略化でき、転記ミスも防げます

ビジュアル化

詳細は実装時に調整予定です。

本棚ビュー

表紙画像をマトリクス状に表示し本棚風とします。

スライサーで、媒体や読書状況で絞り込みます。

詳細ビュー

本棚から1冊選択すると、

  • 書籍情報
  • 評価
  • 読書状況
  • 所持状態
  • レビュー

などを表示します。

まとめ

今回は、Power BIを活用した蔵書管理システムの全体構想を整理しました。

蔵書が増えると、

  • 紙と電子が分散する
  • 読了状況が分からなくなる
  • 重複して購入してしまう

といった課題が発生します。

そこで、ブクログを蔵書のマスターデータとして活用しながら、
Power BIで自分専用の本棚ダッシュボードを構築する方針を検討しました。

ポイントは、ブクログのデータを直接編集せず独自属性を別テーブルで管理することです。これにより、蔵書データを更新しても運用しやすい構成を目指しています。

本棚を作る目的は、単なる蔵書管理ではなく、「今の自分が読むべき本」を見つけやすくし、積読を減らすことです。

次回以降は、蔵書データの統合からPower BIでの本棚表示までを順番に紹介する予定です。

この記事を書いた人
Kyo-Sun

ブログ2年目のアラフォーサラリーマン "Kyo-Sun" です!
10年以上の製造会社経験(2か国の海外赴任含む)を経て、コンサルタントへ転身。実務で培ったPower BIによる仕事効率化や趣味のデスク環境改善を中心に発信中。
『効率的に 健康的に 働いて 楽しく 暮らす』をテーマに、実体験に基づいた実生活に役立つ情報をお届けします!

Kyo-Sunをフォローする
Power BI
シェアする

コメント

タイトルとURLをコピーしました