では、ここで一度、Excelのデータの取り込み方について振り返っておきましょう。
ExcelをPower BIなどの外部ツールと連携させる場合に気をつけたい、データ入力の基本的なルールについては、第3回でも触れました。具体的には、次の4点です。
1. データはセルA1から始める
2. 1行目には必ず項目名、つまり見出しを設定する
3. データの範囲外に余計な書式設定を加えない
4. データの途中に空白行を入れたり、セルを結合したりしない
Excelは見た目を整えるための表計算ソフトとして非常に便利ですが、Power BIなどの外部ツールにデータを渡す場合には、「人が見やすい表」と「コンピューターが扱いやすいデータ」は少し違う、ということを意識する必要がありました。
そこで、Excelには、外部連携を行うために便利な「テーブル」という機能が備わっています。Excelの講座で、テーブルについて学習した方も多いと思います。ピボットテーブルがいい例でしょう。
ピボットテーブルは、参照する表をテーブルに設定しておくと、参照元データが新しく追加された際に、ピボットテーブルの範囲が崩れず、更新対応をすることができました。テーブルというのは、参照先に対して、元データの範囲を明確に伝えてくれる機能だったわけです。
実は、テーブルの便利さは、Excelの中だけにとどまりません。
テーブルは、Excelのデータを外部のシステムやBIツールなどと連携するときにも、とても重要な役割を持っています。たとえば、Excelのシート上にデータを入力しているだけでは、Power BIから「このデータ範囲を使ってください」と明確に指定することが難しい場合があります。
そこで、データをテーブル化し、テーブルに名前を付けておくことで、外部ツールからそのテーブルをデータのまとまりとして扱いやすくなります。ピボットテーブルと同じように、参照範囲を明確に伝えてくれる仕組みです。
つまり、テーブルは単にExcelの中で計算を便利にするための機能ではなく、「この範囲が一つのデータセットですよ」と明確に定義するための機能でもあるのです。
ピボットテーブルのときは、テーブル名を設定するなんてことはしませんでしたが、Power BIに連携しているときは、テーブル名を決めておくと管理がしやすいです。
それでは、実際に確認してみましょう。サンプルデータの「powerbi-sample-data.xlsx」のシートは、テーブル化していない状態です。これをコピーして、片方のブックだけ「販売実績」をテーブル化してみてください。
テーブル化は、データ内のセルを選択して「挿入」タブの「テーブル」(ショートカットは Ctrl + T)です。作成したテーブルを選択すると表示される「テーブル デザイン」タブの左端で、テーブル名を「販売実績」のように分かりやすい名前に変更しておきます。
その後、2つのブックをそれぞれPower BIの「Excelブック」から取り込んでみてください。ナビゲーターの画面で、テーブル化していないブックはシートのアイコンだけが表示されるのに対して、テーブル化したブックには、シートとは別にテーブルのアイコンが表示されます。
Power BIからは、このテーブルを選んで取り込むのが安全です。シートを選ぶと「シート全体」が対象になりますが、テーブルを選べば「定義された範囲」だけが、名前付きで取り込まれるからです。