複数のデータ ソースにデータを含めるのが一般的です。 たとえば、製品情報用と販売情報用の 2 つのデータベースがあります。 Power BI Desktop を使用すると、さまざまなソースのデータを組み合わせて、興味深く説得力のあるデータ分析と視覚化を作成できます。
このチュートリアルでは、次の 2 つのデータ ソースのデータを結合します。
- 製品情報を含む Excel ブック
- 注文データを含む OData フィード
各セマンティック モデルをインポートし、変換と集計の操作を行います。 次に、2 つのソースのデータを使用して、対話型の視覚化を含む売上分析レポートを生成できます。 後で、これらの手法を Power BI Desktop の SQL Server クエリ、CSV ファイル、およびその他のデータ ソースに適用します。
注
Power BI Desktop では、多くの場合、タスクを実行する方法がいくつかあります。 たとえば、列またはセルの [その他のオプション ] メニューを右クリックまたは使用すると、リボンの選択項目をさらに表示できます。 次の手順では、いくつかの代替方法について説明します。
Excel 製品データをインポートする
まず、 Products.xlsx Excel ブックから Power BI Desktop に製品データをインポートします。
Products.xlsx Excel ブックをダウンロード し、 Products.xlsxとして保存します。
Power BI Desktop リボンの [ホーム] タブで [データの取得] の横にある矢印を選択し、[共通データ ソース] メニューから [Excel] を選択します。
注
データ取得の項目自体を選択するか、Power BI の はじめに ダイアログ ボックスで データの取得を選択し、データの取得 ダイアログ ボックスで Excel または ファイルを選択してから、接続を選択することもできます。
[ 開く ] ダイアログ ボックスで、 Products.xlsx ファイルに移動して選択し、[ 開く] を選択します。
ナビゲーターで、[製品] テーブルを選択し、[データの変換] を選択します。
Power Query エディターでテーブル プレビューが開き、変換を適用してデータをクリーンアップできます。
注
Power BI Desktop の [ホーム] リボンから [データの変換] を選択するか、レポート ビューのクエリの横にある [その他のオプション] を右クリックまたは選択し、[データの変換] を選択して、Power Query エディターを開くこともできます。
列を整理する
結合されたレポートでは、Excel ブックの ProductID、 ProductName、 QuantityPerUnit、 UnitsInStock 列が使用されます。 他の列を削除できます。
Power Query エディターで、 ProductID、 ProductName、 QuantityPerUnit、 UnitsInStock 列を選択します。 Ctrl キーを使用して複数の列を選択するか、Shift キーを押して隣り合う列を選択できます。
選択したヘッダーのいずれかを右クリックします。 ドロップダウン メニューから [ その他の列の削除 ] を選択します。 [ホーム] リボン タブの [列の管理] グループから[>][その他の列を削除]を選択することもできます。
OData フィードの注文データをインポートする
次に、サンプルの Northwind 販売システム OData フィードから注文データをインポートします。
Power Query エディターで、[ 新しいソース ] を選択し、[ 最も一般的な ] メニューから [OData フィード] を選択します。
[ OData フィード ] ダイアログ ボックスに、Northwind OData フィード URL
https://services.odata.org/V3/Northwind/Northwind.svc/貼り付けます。 [OK] を選択.
ナビゲーターで、[受注] テーブルを選択し、[OK] を選択して Power Query エディターにデータを読み込みます。
注
ナビゲーターでは、チェックボックスを選択せずに任意のテーブル名を選択して、プレビューを表示できます。
注文データを展開する
リレーショナル データベースや Northwind OData フィードなど、複数のテーブルを持つデータ ソースに接続するときに、テーブル参照を使用してクエリを作成できます。 Orders テーブルには、いくつかの関連テーブルへの参照が含まれています。 展開操作を使用して、関連する Order_Details テーブルの ProductID、UnitPrice、Quantity 列を件名 (Orders) テーブルに追加できます。
注文 テーブルを右にスクロールして、Order_Details 列が表示されるようにします。 データではなく、別のテーブルへの参照が含まれています。
Order_Details列ヘッダーの展開アイコン (
) を選択します。ドロップダウン メニューで、次の手順を実行します。
[ すべての列を選択] を選択 して、すべての列をクリアします。
ProductID、UnitPrice、Quantity を選択し、[OK] を選択します。
Order_Detailsテーブルを展開すると、Order_Details列が 3 つの新しい入れ子になったテーブル列に置き換えられます。 テーブルには、注文の追加されたデータごとに新しい行があります。
カスタム計算列を作成する
Power Query エディターを使用すると、計算とユーザー設定フィールドを作成してデータを強化できます。 単価と品目数量を乗算するカスタム列を作成して、各注文の品目の合計価格を計算できます。
Power Query エディターの [列の 追加 ] リボン タブで、[ カスタム列] を選択します。
[ユーザー設定列] ダイアログ ボックスで、[新しい列名] フィールドに「LineTotal」と入力します。
の後の =] フィールドに、「[Order_Details.UnitPrice] * [Order_Details.Quantity]」と入力します。 [使用可能な列] スクロール ボックスからフィールド名を選択し、[挿入] <<選択することもできます。
[OK] を選択.
新しい LineTotal フィールドが Orders テーブルの最後の列として表示されます。
新しいフィールドのデータ型を設定する
Power Query エディターは、データに接続するときに、表示目的で各フィールドのデータ型に関して最適な推測を行います。 ヘッダー アイコンは、各フィールドに割り当てられたデータ型を示します。 [ホーム] リボン タブの [変換] グループの [データ型] を調べることもできます。
新しい LineTotal 列には Any データ型がありますが、通貨値があります。 データ型を割り当てるには、 LineTotal 列ヘッダーを右クリックし、ドロップダウン メニューから [種類の変更 ] を選択し、[ 固定小数点番号] を選択します。
注
[LineTotal] 列を選択し、[ホーム] リボン タブの [変換] 領域で [データ型] の横にある矢印を選択し、[固定小数点数] を選択することもできます。
orders 列をクリーンアップする
モデルをレポートで操作しやすくするために、一部の列の削除、名前変更、並べ替えを行うことができます。
レポートでは、次の列が使用されます。
- Orderdate
- ShipCity
- 発送国
- Order_Details.ProductID
- Order_Details.UnitPrice
- 注文の詳細.数量
- LineTotal
これらの列を選択し、Excel データと同様に [その他の列の削除 ] を使用します。 または、一覧に表示されていない列を選択し、いずれかの列を右クリックして、[列の 削除] を選択することもできます。
"Order_Details." というプレフィックスが付いた列の名前を変更して、読みやすくすることができます。
各列ヘッダーをダブルクリックまたは長押しするか、列ヘッダーを右クリックし、ドロップダウン メニューから [名前の変更 ] を選択します。
各名前から Order_Details. プレフィックスを削除します。
最後に、 LineTotal 列に簡単にアクセスできるようにするには、 ShipCountry 列の右側の左側にドラッグ アンド ドロップします。
クエリの手順を確認する
データを整形および変換するための Power Query エディターアクションが記録されます。 各アクションは、右側の [ クエリ設定] ウィンドウの [ 適用されたステップ] の下に表示されます。 適用されたステップをステップバックしてステップを確認し、必要に応じてステップを編集、削除、または再配置することができます。 ただし、前の手順を変更すると、後の手順が中断される可能性があり、リスクが高まります。
Power Query エディターの左側にある [クエリ] リストで各クエリを選択し、[クエリ設定] の [適用されたステップ] を確認します。 前のデータ変換を適用すると、2 つのクエリに 適用される手順 は次のようになります。
製品クエリ
注文問い合わせ
ヒント
適用される手順の基になるのは、 Power Query 言語 ( M 言語とも呼ばれます) で記述された数式です。 数式を表示および編集するには、リボンの [ホーム] タブの [クエリ] グループで [詳細エディター] を選択します。
変換されたクエリをインポートする
変換されたデータに満足し、Power BI Desktop の レポート ビューにインポートする準備ができたら、[ホーム] リボン タブの 閉じる グループで [閉じて適用]>[閉じて適用] を選択します。
データが読み込まれると、Power BI Desktop レポート ビューの [フィールド] リストにクエリが表示されます。
セマンティック モデル間のリレーションシップを管理する
Power BI Desktop では、クエリを組み合わせてレポートする必要はありません。 ただし、共通フィールドに基づいてセマンティック モデル間のリレーションシップを使用して、レポートを拡張および強化できます。 Power BI Desktop では、リレーションシップが自動的に検出される場合や、Power BI Desktop の [ リレーションシップの管理 ] ダイアログ ボックスでリレーションシップを作成できます。 詳しくは、「Power BI Desktop でのリレーションシップの作成と管理」をご覧ください。
共有 ProductID フィールドは、このチュートリアルの Orders と Products セマンティック モデルの間にリレーションシップを作成します。
Power BI Desktop レポート ビューで、[モデリング] リボン タブの [リレーションシップ] 領域で [リレーションシップの管理] を選択します。
[ リレーションシップの管理 ] ダイアログ ボックスで、Power BI Desktop が既に検出され、[ 製品 ] テーブルと [受注 ] テーブル間のアクティブなリレーションシップが一覧表示されていることがわかります。 リレーションシップを表示するには、[ 編集] を選択します。
リレーションシップの編集 が開き、リレーションシップの詳細が表示されます。
Power BI Desktop によってリレーションシップが正しく自動検出されたため、[ キャンセル] を選択してから [閉じる] を選択できます。
Power BI Desktop の左側にある [モデル ] を選択して、クエリリレーションシップを表示および管理します。 2 つのクエリを接続する行の矢印をダブルクリックして、[リレーションシップの 編集] ダイアログを開き、リレーションシップを表示または変更します。
モデル ビューからレポート ビューに戻るには、[レポート] アイコンを選択します。
データを使用して視覚化を作成する
Power BI Desktop レビュー ビューでさまざまな視覚化を作成して、データの分析情報を得ることができます。 レポートには複数のページを含め、各ページには複数のビジュアルを含めることができます。 あなたや他の人は、視覚化を通じてデータを分析し理解するのに役立てることができます。 詳細については、「 Power BI サービスの編集ビューでレポートを操作する」を参照してください。
データ セットとそれらの関係の両方を使用して、売上データの視覚化と分析に役立てることができます。
最初に、両方のクエリのフィールドを使用して注文された各製品の数量を表示する積み上げ縦棒グラフを作成します。
右側の [フィールド] ウィンドウで [注文] から [数量] フィールドを選択するか、キャンバス上の空白スペースにドラッグします。 注文されたすべての製品の合計数量を示す積み上げ縦棒グラフが作成されます。
注文された各製品の数量を表示するには、[フィールド] ウィンドウの [製品] から ProductName を選択するか、グラフにドラッグします。
製品を並べ替えるには、視覚化の右上にある [その他のオプション ] 省略記号 (...) を選択し、 並べ替え>Quantity を選択します。
グラフの角にあるハンドルを使用して拡大し、より多くの製品名が表示されるようにします。
次に、時間の経過に伴う注文金額 (LineTotal) (OrderDate) を示すグラフを作成します。
キャンバスで何も選択していない状態で、[フィールド] ウィンドウの [Orders] から LineTotal を選択するか、キャンバス上の空白スペースにドラッグします。 積み上げ縦棒グラフには、すべての注文の合計金額が表示されます。
積み上げグラフを選択し、注文 から OrderDate を選択するか、グラフにドラッグします。 これで、各注文日の折れ線の合計がグラフに表示されます。
角をドラッグして視覚化のサイズを変更し、その他のデータを表示します。
ヒント
グラフに年のみが表示され、データ ポイントが 3 つしかない場合は、[視覚化] ウィンドウの [軸] フィールドで OrderDate の横にある矢印を選択し、日付階層ではなく OrderDate を選択します。 または、[>] メニューから [オプション] [オプション] を選択し、[データの読み込み] で [新しいファイルの自動日時] オプションをオフにする必要がある場合があります。
最後に、各国または地域からの注文金額を示すマップ視覚化を作成します。
キャンバス上で何も選択していない状態で、[フィールド] ウィンドウの [Orders] から ShipCountry を選択するか、キャンバス上の空白スペースにドラッグします。 Power BI Desktop は、データが国または地域の名前であることを検出します。 その後、注文のある国または地域ごとにデータ ポイントを含むマップ視覚化が自動的に作成されます。
データ ポイントのサイズに各国/地域の注文金額を反映させるには、 LineTotal フィールドをマップにドラッグします。 [視覚化] ウィンドウの [サイズ] の下にある [データ フィールドの追加] にドラッグすることもできます。 マップ上の円のサイズに、各国または地域からの注文の金額が反映されるようになりました。
レポートビジュアルを操作してさらに分析する
Power BI Desktop では、相互に強調表示やフィルター処理を行うビジュアルを操作して、さらに傾向を明らかにすることができます。 詳細については、「 Power BI レポートのフィルターと強調表示」を参照してください。
クエリ間のリレーションシップのため、1 つの視覚エフェクトとの対話は、ページ上の他のすべての視覚化に影響します。
マップの視覚エフェクトで、カナダを中心とする円を選択 します。 他の 2 つの視覚化は、カナダの行の合計と注文数量を強調表示するためにフィルタリングされます。
ProductName グラフ製品別数量を選択すると、その製品のデータを反映するマップと日付グラフ フィルターが表示されます。 LineTotal by OrderDate グラフの日付を選択すると、その日付のデータを表示するマップと製品グラフフィルターが表示されます。
ヒント
選択をクリアするには、もう一度選択するか、他の視覚エフェクトのいずれかを選択します。
売上分析レポートを完成させる
完成したレポートでは 、Products.xlsx Excel ファイルと Northwind OData フィードのデータがビジュアルに組み合わせられ、さまざまな国や地域の注文情報、時間枠、製品を分析するのに役立ちます。 レポートの準備ができたら、 それを Power BI サービスにアップロード して、他の Power BI ユーザーと共有できます。