コース: データ分析の基礎知識

Power BIでデータをモデル化する

コース: データ分析の基礎知識

Power BIでデータをモデル化する

データの分析や視覚化には、 さまざまなデータセットや テーブルのデータを使います。 テーブルが複数あるときは、 最大限に活用できるように、 データをモデル化する必要があります。 このような、エンティティ リレーションシップダイアグラムは、 テーブルのリレーションシップを モデルで示していますが、 実際に見ているのは、 データのモデルです。 データはすでに、 Power BI デスクトップに 接続済みです。 右側のフィールドには、 レポート作成に必要な 情報のテーブルがいろいろあります。 これで、準備完了のように見えますが、 もうひとつやることがあります。 ここにあるデータセットを結合するのです。 Power BI のモデルデータと Power Query で結合する方法は、 いくつかあります。 例えば、クエリのマージも ひとつの方法ですが、 モデル化のセクションから、 このデータを最初から モデル化することもできます。 そうすれば、結合を通して、 データのやり取りができるので、 Orders を参照すれば、 それがどの Products と、 どの「Order_details」に 関連しているかがわかります。 この図では、すでにいくつか 関連付けされています。 Power BI は、 便宜上、自動的に データを結合しようとします。 これを「自動検出」と言います。 リレーションシップを 自動検出しようとするので、 自動検出されたリレーションシップが 正しいことを、必ず確認してください。 どのデータが関連付けられているか 知っていると、 データのモデル化が簡単になります。 「Orders」のテーブルと、 「Order_details」のテーブルは、 「注文 ID」で結合されています。 数字の1と、アスタリスクがあります。 これは、このリレーションシップの カーディナリティが、 1対他だと示しています。 1件の注文に複数の注文詳細が 紐付けられているという意味です。 1回の注文で 複数の商品を購入したということでなく、 1つの注文レコードに、 数量や単価など、複数のデータが 関連付けられているということです。 「Order_details」と 「Products」を見てみましょう。 これらは、商品 ID で結合されていて、 これも1対他のリレーションシップです。 他にも、1対他、 他対1、1対1、他対他といった リレーションシップがあります。 1対1は、あるテーブルの ひとつのレコードが 別のひとつのレコードに 関連付けられています。 1対他と、他対1は、 この例のように、 ひとうのテーブルのひとつのレコードに 別のテーブルの複数のレコードが 関連付けられています。 「Employees」に関連付けられている テーブルはありません。 他のテーブルとの間に線がありません。 「Employees」と他のテーブルが 関連付けられていないからです。 「会社 ID」を 担当 ID にドラッグします。 これで、リレーションシップが 確立されます。 では、このリレーションシップの プロパティを確認してみましょう。 ラインを右クリックして、 プロパティを選びます。 1対他の、他のほうの 「Orders」テーブルと、 1のほうの「Emploees」テーブルが 表示され、リレーションシップは 他対1ですね。 「OK」をクリックします。 すべてのリレーションシップを 管理するには、 上部のリレーションシップの 「管理」を開きます。 いいですね。 では、実際に使ってみましょう。 レポートから 基本的なビジュアルを構築します。 まず、テーブルを追加します。 「Customers」から、 「会社名」を列に持って来ます。 「Employees」から、 姓を持ってきます。 見やすいように、折りたたみましょう。 「Orders」から 「注文 ID」を列に持ってきます。 「注文日」の階層も入れましょう。 必要なのは「注文日」だけなので、 右クリックして、 「注文日」を選びます。 それから、「商品名」を持って来て、 「注文 ID」と、 「注文日」の間に入れましょう。 そしてさらに、 「Order_details」を開いて、 「単価」そして 「数量」を入れて、 割引後金額も持ってきます。 これで、データのモデル化が終わりました。 「会社名」、営業担当者の「姓」、 「注文 ID」、そして「注文の詳細」が 正しく表示されています。 データをモデル化したので、 クエリのマージを作成して、 テーブルを結合しなくても、 視覚化のいろいろな機能を使って、 データを提示することができます。

目次