はじめに
Power BIにPDFのデータを取り込む方法を大きく3つ紹介します。
尚、関連のMicrosoft Docsはこちらです。
Power BI Desktop で PDF ファイルに接続する - Power BI | Microsoft Docs
Power QueryのMで、PDFのページ指定を行う方法も書いてありますね。
Pdf.Tables(File.Contents("c:\sample.pdf"), [StartPage=10, EndPage=11])
(1) PDFのテーブルを特定して取り込む
例として、町田市における新型コロナウイルス感染症の状況(7月3日更新)/町田市ホームページの下部にある、「町田市内の全検査数」を取り込んでみます。
各ページに各月のテーブルがあり、比較的容易な取り込みです。
Power BI Desktopのデータを取得でPDFを選択します。
ナビゲータのプレビューでも見えているとおり、対象のテーブルを選択してPower Queryに進みます。
適用したステップの最初Sourceに戻り、Tableを選択したり、2つのテーブルに複製して、2021年、2020年をそれぞれつけたあと、クエリの追加をしりゴニョゴニョします。
最終の出来上がりはこんな感じ。
できあがりのビジュアルはこちらです。
(2) PDFのページを取り込む
2021/6/30に金融庁から「金融機関のシステム障害に関する分析」の最新版が公表されました。こちらにある、PDFにある事例をPower BIレポートしました。このような文章の中のPDFを(1)と同様に開くと、テーブルから思うような結果が得られません。
このような場合、ナビゲーターのテーブルの下にある、ページを参照します。
そうすると、取り込みを行いたいページの中のデータが確認できます。
ここからデータを取り込み、Power Query等でかなりゴニョゴニョしたり、データの不備を訂正したりして、目的のデータにできます。
そのようにして作成したのがこちらのビジュアルです。
(3) PDFを一度Excelにエクスポートしてから取り込む
(2)のレポートが完成した後、去年もレポートを作成しており、そしてQiitaを作成していたことを思い出しました。
金融機関のシステム障害に関する分析Power BIレポート - Qiita
手順を見ると
Power BIレポート化の手順概要
Acrobat ProでPDFからExcel形式でエキスポート
そ、そいういえば、最初はそんなことをやっていましたね、、ということで検証で途中までやってみると、、
同じゴニョゴニョをやるにしても、こちらの方が手間が少なかったですね、きっと。なので、Acrobat等をお使いの方は、一度PDFをExcelに出力してから取り込みをするという方法を、(2)よりもおすすめします。
おわりに
今回、金融庁のレポートは、「(2)のPDFのページを取り込む方法」で行いました。取り込んだデータをPower Queryで取り込むものの後半のページの途中でエラーになり詳細を追うことをあきらめ、手直ししました。できあがってから、Qiitaで、昨年の金融庁レポートの取り込むの自分のレポートを見つけ、「(3) PDFを一度Excelにエクスポートしてから取り込む」方法でやっていたことを思い出しました。早く確認すればよかった!!