では、ここで一度、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に連携しているときは、テーブル名を決めておくと管理がしやすいです。
それでは、実際に確認してみましょう。練習データの「03_table」フォルダーには、同じ内容のブックが2つ入っています。「sales_no_table.xlsx」はテーブル化していないブック、「sales_table.xlsx」は2つのシートをテーブル化したブックです。
まず、「sales_no_table.xlsx」をExcelで開いてみましょう。「取引先マスタ」シートには、セルA1から始まる普通の表が入っています。見出しはありますが、まだテーブルにはなっていません。
これをテーブルにするには、データ内のどこか1つのセルを選択して、「挿入」タブの「テーブル」をクリックします。ショートカットは Ctrl + T です。
範囲と「先頭行をテーブルの見出しとして使用する」を確認して「OK」を押すと、表に色が付き、見出しにフィルターボタンが表示されます。これがテーブルです。リボンには「テーブル デザイン」タブが現れ、左端の「テーブル名」を見ると、「テーブル1」という名前が自動的に付いています。
この「テーブル1」のままでも動きますが、Power BIに取り込んだときに、何のデータか分かりません。そこで、「テーブル名」を「T_取引先マスタ」のように、分かりやすい名前に変更しておきます。
ここで付けている「T_」という接頭辞は、私の習慣です。以前、Accessというデータベースアプリを使っていたころ、テーブルには「T_」、クエリには「Q_」と頭に付けて、名前を見ただけで種類が分かるようにしていました。
その名残で、Excelのテーブルにも「T_」を付けています。Power BIのナビゲーターでは、シートとテーブルが同じ一覧に並ぶので、「T_」が付いていれば、ひと目でテーブルだと分かって便利です。もちろん、必須のルールではありませんので、自分なりの命名で構いません。
同じ手順で「販売実績」シートもテーブル化して、「T_販売実績」と名前を付けます。練習データの「sales_table.xlsx」は、この作業を済ませたブックです。
では、「sales_table.xlsx」をPower BIの「Excel ブック」から取り込んでみてください。ナビゲーターの画面を見ると、「sales_table.xlsx [4]」と表示され、「T_取引先マスタ」「T_販売実績」というテーブルのアイコンと、「取引先マスタ」「販売実績」というシートのアイコンの、合計4つが並んでいます。テーブル化していない「sales_no_table.xlsx」を取り込むと、シートのアイコン2つだけが表示されます。
Power BIからは、このテーブル(T_の付いたほう)を選んで取り込むのが安全です。シートを選ぶと「シート全体」が対象になりますが、テーブルを選べば「定義された範囲」だけが、名前付きで取り込まれるからです。
「テーブル名を設定する」という操作は、ExcelのMOS試験の出題範囲にも含まれています。「これはいつ使うんだろう?」と不思議に思っていた方もいらっしゃるかと思います。私自身も、まだPower BIを知らなかったころは同じ疑問を持っていました。答えは、外部連携をするとき。Excelだけを学んでいると気づかない操作のひとつでしたね。