チュートリアル:Excel と OData フィードの売上データを結合するTutorial: Combine sales data from Excel and an OData feed

データのデータ ソースが複数存在することは一般的です。It's common to have data in multiple data sources. たとえば、製品情報に 1 つ、売上情報に 1 つと、データベースが 2 つ用意されることがあります。For example, you could have two databases, one for product information, and another for sales information. Power BI Desktop では、異なるソースからのデータを組み合わせて、興味深く説得力のあるデータ分析と視覚エフェクトを作成できます。With Power BI Desktop, you can combine data from different sources to create interesting, compelling data analyses and visualizations.

このチュートリアルでは、2 つのデータ ソースのデータを結合します。In this tutorial, you combine data from two data sources:

  1. 製品情報が含まれる Excel ブックAn Excel workbook with product information
  2. 注文データが含まれる OData フィードAn OData feed containing orders data

これから各データセットをインポートし、変換や集計を行います。You're going to import each dataset and do transformation and aggregation operations. 次に、2 つのソースのデータを使用し、直観的に操作できる視覚情報を持つ売上分析レポートを作成します。Then, you'll use the two source's data to produce a sales analysis report with interactive visualizations. その後、SQL Server クエリ、CSV ファイル、Power BI Desktop の他のデータ ソースにこれらの手法を適用できます。Later, you can apply these techniques to SQL Server queries, CSV files, and other data sources in Power BI Desktop.

注意

Power BI Desktop では多くの場合、タスクを複数の方法で実行できます。In Power BI Desktop, there are often a few ways to accomplish a task. たとえば、右クリックするか、列またはセルの [その他のオプション] メニューを使用し、リボンに追加の選択肢を表示できます。For example, you can right-click or use a More options menu on a column or cell to see additional ribbon selections. 以下の手順では、複数の代替方法を説明します。Several alternate methods are described in the steps below.

Excel 製品データをインポートするImport Excel product data

最初に、Products.xlsx という Excel ブックの製品データを Power BI Desktop にインポートします。First, import the Products.xlsx Excel workbook's product data into Power BI Desktop.

  1. Products.xlsx Excel ブックをダウンロードし、Products.xlsx として保存します。Download the Products.xlsx Excel workbook and save it as Products.xlsx.

  2. Power BI Desktop リボンの [ホーム] タブの [データを取得] の横にあるドロップダウン矢印を選択し、 [よく使われる] ドロップダウンから [Excel] を選択します。Select the dropdown arrow next to Get Data in the Power BI Desktop ribbon's Home tab, and then, select Excel from the Most Common dropdown.

    データの取得

    注意

    [データを取得] 項目自体を選ぶか、Power BI の [作業の開始] ダイアログから [データを取得] を選び、 [データを取得] ダイアログで [Excel] または [ファイル] > [Excel] を選んで、 [接続] を選ぶこともできます。You can also select the Get Data item itself, or select Get Data from the Power BI Get started dialog, then select Excel or File > Excel in the Get Data dialog box, and then select Connect.

  3. [開く] ダイアログ ボックスで、Products.xlsx ファイルを探して選び、 [開く] を選びます。In the Open dialog box, navigate to and select the Products.xlsx file, and then select Open.

  4. [ナビゲーター] ウィンドウで [製品] テーブルを選択してから、 [編集] を選択します。In the Navigator pane, select the Products table and then select Edit.

    Excel の [ナビゲーター] ウィンドウ

テーブル プレビューが Power Query エディターで開きます。ここで、変換を適用してデータをクリーンアップできます。A table preview opens in the Power Query Editor, where you can apply transformations to clean up the data.

Power Query エディター

注意

また、Power BI Desktop の [ホーム] リボンから [クエリの編集] > [クエリの編集] を選ぶことで、またはレポート ビューで右クリックするかクエリの横にある [その他のオプション] を選んでから [クエリの編集] を選ぶことで、Power Query エディターを開くこともできます。You can also open the Power Query Editor by selecting Edit Queries > Edit Queries from the Home ribbon in Power BI Desktop, or by right-clicking or choosing More options next to any query in Report View, and selecting Edit Query.

製品の列をクリーンアップするClean up the products columns

結合されたレポートでは、Excel ブックの ProductIDProductNameQuantityPerUnitUnitsInStock 列が使用されます。Your combined report will use the Excel workbook's ProductID, ProductName, QuantityPerUnit, and UnitsInStock columns. 他の列は削除できます。You can remove the other columns.

  1. Power Query エディターで、ProductIDProductNameQuantityPerUnitUnitsInStock 列を選択します。In Power Query Editor, select the ProductID, ProductName, QuantityPerUnit, and UnitsInStock columns. Ctrl を押しながらクリックすることで、複数の列を選択できます。あるいは、Shift を押しながらクリックすることで、隣り合った列を選択できます。You can use Ctrl+Click to select more than one column, or Shift+Click to select columns next to each other.

  2. 選択したヘッダーのいずれかを右クリックします。Right-click any of the selected headers. ドロップダウンから [他の列の削除] を選択します。Select Remove Other Columns from the dropdown. [ホーム] リボン タブの [列の管理] グループから [列の削除] > [他の列の削除] を選んでもかまいません。You can also select Remove Columns > Remove Other Columns from the Manage Columns group in the Home ribbon tab.

    他の列の削除

OData フィードの注文データのインポートImport the OData feed's order data

次に、サンプルの Northwind 販売システムの OData フィードから注文データをインポートします。Next, import the order data from the sample Northwind sales system OData feed.

  1. Power Query エディターで、 [新しいソース] を選択し、 [よく使われる] ドロップダウンから [OData フィード] を選択します。In Power Query Editor, select New Source and then, from the Most Common dropdown, select OData feed.

    OData を取得する

  2. [OData フィード] ダイアログ ボックスに、Northwind OData フィードの URL である http://services.odata.org/V3/Northwind/Northwind.svc/ を貼り付けます。In the OData feed dialog box, paste the Northwind OData feed URL, http://services.odata.org/V3/Northwind/Northwind.svc/. [OK] を選択します。Select OK.

    [OData フィード] ダイアログ

  3. [ナビゲーター] ウィンドウで、Orders テーブルを選び、 [OK] を選んで、Power Query エディターにデータを読み込みます。In the Navigator pane, select the Orders table, and then select OK to load the data into Power Query Editor.

    OData の [ナビゲーター] ウィンドウ

    注意

    [ナビゲーター] では、チェック ボックスを選択せずにテーブル名を選んで、プレビューを表示できます。In Navigator, you can select any table name, without selecting the checkbox, to see a preview.

注文データを展開するExpand the order data

リレーショナル データベースや Northwind OData フィードのように複数のテーブルが含まれるデータ ソースに接続するとき、テーブル参照を使用してクエリを作成できます。You can use table references to build queries when connecting to data sources with multiple tables, such as relational databases or the Northwind OData feed. Orders テーブルには、複数の関連テーブルへの参照が含まれています。The Orders table contains references to several related tables. 展開操作を使用し、関連する Order_Details テーブルの ProductIDUnitPriceQuantity 列をサブジェクト (Orders) テーブルに追加できます。You can use the Expand operation to add the ProductID, UnitPrice, and Quantity columns from the related Order_Details table into the subject (Orders) table.

  1. Order_Details 列が表示されるまで、Orders テーブルを右にスクロールします。Scroll to the right in the Orders table until you see the Order_Details column. データではなく、別のテーブルの参照が含まれています。It contains references to another table and not data.

    Order_Details 列

  2. Order_Details 列のヘッダーで、 [展開] アイコン [展開] アイコン を選びます。Select the Expand icon (Expand icon) in the Order_Details column header.

  3. [展開] ドロップダウンで以下の操作を行います。In the Expand drop-down:

    1. すべての列をオフにするため、 (すべての列を選択) を選択します。Select (Select All Columns) to clear all columns.

    2. ProductIDUnitPriceQuantity を選んで、 [OK] を選びます。Select ProductID, UnitPrice, and Quantity, and then select OK.

      [展開] ダイアログ

Order_Details テーブルを展開すると、入れ子になっている新しい 3 つのテーブル列が Order_Details 列に取って代わります。After you expand the Order_Details table, three new nested table columns replace the Order_Details column. テーブルには、各注文の追加データ用の新しい行があります。There are new rows in the table for each order's added data.

展開された列

カスタム計算列を作成するCreate a custom calculated column

Power Query エディターでは、データを充実させるために計算フィールドとカスタム フィールドを作成できます。Power Query Editor lets you create calculations and custom fields to enrich your data. 各注文の明細項目を計算する目的で、単価と項目数量を乗算してカスタム列を作成します。You'll create a custom column that multiplies the unit price by item quantity to calculate the total price for each order's line item.

  1. Power Query エディターの [列の追加] リボン タブで、 [カスタム列] を選択します。In the Power Query Editor's Add Column ribbon tab, select Custom Column.

  2. [カスタム列] ダイアログ ボックスで、 [新しい列名] フィールドに「LineTotal」と入力します。In the Custom Column dialog box, type LineTotal in the New column name field.

  3. [カスタム列の式] フィールドの = の後に、「 [Order_Details.UnitPrice] * [Order_Details.Quantity] 」と入力します。In the Custom column formula field after the =, enter [Order_Details.UnitPrice] * [Order_Details.Quantity]. (入力する代わりに、 [使用できる列] スクロール ボックスからフィールド名を選び、 [<< 挿入] を選んでもかまいません。)(You can also select the field names from the Available columns scroll box and select << Insert, instead of typing them.)

  4. [OK] を選択します。Select OK.

    [カスタム列] ダイアログ

    Orders テーブルの最後の列として、新しい LineTotal フィールドが表示されます。The new LineTotal field appears as the last column in the Orders table.

新しいフィールドのデータ型を設定するSet the new field's data type

Power Query エディターでデータに接続すると、表示目的で各フィールドのデータ型が可能な範囲で推測されます。When Power Query Editor connects to data, it makes a best guess as to each field's data type for display purposes. ヘッダー アイコンに、各フィールドに割り当てられたデータ型が示されます。A header icon indicates each field's assigned data type. [ホーム] リボン タブの [変換] グループの [データ型] で確認することもできます。You can also look under Data Type in the Home ribbon tab's Transform group.

新しい [LineTotal] 列には [任意] データ型が入りますが、値は通貨です。Your new LineTotal column has an Any data type, but it has currency values. データ型を割り当てるには、 [LineTotal] 列のヘッダーを右クリックし、ドロップダウンから [型の変更] を選択し、 [固定小数点数] を選択します。To assign a data type, right-click the LineTotal column header, select Change Type from the dropdown, and then select Fixed decimal number.

データ型を変更する

注意

または、LineTotal 列を選び、 [ホーム] リボン タブの [変換] 領域の [データ型] の横にあるドロップダウン矢印を選んで、 [固定小数点数] を選んでもかまいません。You can also select the LineTotal column, then select the dropdown arrow next to Data Type in the Transform area of the Home ribbon tab, and then select Fixed decimal number.

注文列をクリーンアップするClean up the orders columns

レポートでモデルの作業をしやすくするため、一部の列を削除したり、名前や順序を変更したりできます。To make your model easier to work with in reports, you can delete, rename, and reorder some columns.

レポートでは次の列が使用される予定です。Your report is going to use the following columns:

  • OrderDateOrderDate
  • ShipCityShipCity
  • ShipCountryShipCountry
  • Order_Details.ProductIDOrder_Details.ProductID
  • Order_Details.UnitPriceOrder_Details.UnitPrice
  • Order_Details.QuantityOrder_Details.Quantity
  • LineTotalLineTotal

これらの列を選択し、Excel データの場合と同じように [他の列の削除] を使用します。Select these columns and use Remove Other Columns as you did with the Excel data. あるいは、一覧にない列を選択し、いずれかを右クリックし、 [列の削除] を選択できます。Or, you can select the non-listed columns, right-click on one of them, and select Remove Columns.

"Order_Details. " というプレフィックスの付いた列の名前を変更し、You can rename the columns prefixed with "Order_Details." 読みやすくすることができます。to make them easier to read:

  1. 各列のヘッダーをダブルクリックまたは長押しし、列ヘッダーを右クリックし、ドロップダウンから [名前の変更] を選択します。Double-click or tap and hold each column header, or right-click the column header, and select Rename from the dropdown.

  2. Order_Details.Delete the Order_Details. プレフィックスを各名前から削除して、Enter キーを押します。prefix from each name, and then press Enter.

最後に、LineTotal 列にアクセスしやすくするため、この列を左にドラッグして ShipCountry 列のすぐ右にドロップします。Finally, to make the LineTotal column easier to access, drag and drop it to the left, just to the right of the ShipCountry column.

クリーンアップされたテーブル

クエリのステップを確認するReview the query steps

データを整形したり、変換したりするための Power Query エディター アクションは記録されます。Your Power Query Editor actions to shape and transform data are recorded. 各アクションは、右側にある [クエリ設定] ウィンドウの [適用したステップ] の下に表示されます。Each action appears on the right in the Query Settings pane under Applied Steps. [適用したステップ] で前のステップに戻り、各ステップを確認し、必要に応じて編集したり、削除したり、再配置したりできます。You can step back through the Applied Steps to review your steps, and edit, delete, or rearrange them if necessary. ただし、前のステップを変更すると後のステップを壊す可能性があり、危険です。However, changing preceding steps is risky as that can break later steps.

Power Query エディターの左側にある [クエリ] の一覧で各クエリを選び、 [クエリの設定][適用したステップ] を確認します。Select each of your queries in the Queries list on the left side of Power Query Editor, and review the Applied Steps in Query Settings. これまでのデータ変換を適用すると、2 つのクエリの [適用したステップ] は次のようになります。After applying the previous data transformations, the Applied Steps for your two queries should look like this:

製品クエリの適用したステップ    注文クエリの適用したステップ

ヒント

[適用したステップ] の基礎は、M 言語とも呼ばれる Power Query 言語で記述された数式です。Underlying the Applied Steps are formulas written in the Power Query Language, also known as the M language. 数式を表示および編集するには、リボンの [ホーム] タブの [クエリ] グループで [詳細エディター] を選択します。To see and edit the formulas, select Advanced Editor in the Query group of the Home tab of the ribbon.

変換されたクエリをインポートするImport the transformed queries

変換したデータに問題がなく、Power BI Desktop レポート ビューにインポートする用意ができたら、 [ホーム] リボン タブの [閉じる] グループで [閉じて適用][閉じて適用] の順に選択します。When you're satisfied with your transformed data and ready to import it into Power BI Desktop Report View, select Close & Apply > Close & Apply in the Home ribbon tab's Close group.

閉じて適用

データが読み込まれると、Power BI Desktop のレポート ビューの [フィールド] 一覧にクエリが表示されます。Once the data is loaded, the queries appear in the Fields list in the Power BI Desktop Report View.

[フィールド] 一覧のクエリ

データセット間のリレーションシップを管理するManage the relationship between the datasets

Power BI Desktop では、レポート作成のためにクエリを結合する必要はありません。Power BI Desktop doesn't require you to combine queries to report on them. ただし、共通フィールドに基づくデータセット間のリレーションシップを使用し、レポートを拡張して充実させることができます。However, you can use the relationships between datasets, based on common fields, to extend, and enrich your reports. Power BI Desktop でリレーションシップを自動的に検出できます。または、Power BI Desktop の [リレーションシップの管理] ダイアログで作成することもできます。Power BI Desktop may detect relationships automatically, or you can create them in the Power BI Desktop Manage Relationships dialog. 詳しくは、「Power BI Desktop でのリレーションシップの作成と管理」をご覧ください。For more information, see Create and manage relationships in Power BI Desktop.

共有 [ProductID] フィールドにより、このチュートリアルの Orders データセットと Products データセットの間のリレーションシップが作成されます。The shared ProductID field creates a relationship between this tutorial's Orders and Products datasets.

  1. Power BI Desktop のレポート ビューで、 [ホーム] リボン タブの [リレーションシップ] 領域の [リレーションシップの管理] を選択します。In Power BI Desktop Report View, select Manage Relationships in the Home ribbon tab's Relationships area.

    [リレーションシップの管理] リボン

  2. [リレーションシップの管理] ダイアログでは、Power BI Desktop によって Products テーブルと Orders テーブルの間のアクティブなリレーションシップが既に検出されて一覧に表示されていることがわかります。In the Manage relationships dialog, you can see that Power BI Desktop has already detected and listed an active relationship between the Products and Orders tables. リレーションシップを表示するには、 [編集] を選びます。To view the relationship, select Edit.

    [リレーションシップの管理] ダイアログ

    [リレーションシップの編集] ダイアログが開き、リレーションシップに関する詳細が示されます。The Edit Relationship dialog opens, showing details about the relationship.

    [リレーションシップの編集] ダイアログ

  3. Power BI Desktop はリレーションシップを正しく自動検出しているので、 [キャンセル][閉じる] の順に選択できます。Power BI Desktop has autodetected the relationship correctly, so you can select Cancel and then Close.

Power BI Desktop の左側で、 [モデル] を選択し、クエリのリレーションシップを表示し、管理します。In Power BI Desktop, on the left side, select Model to view and manage query relationships. 2 つのクエリを接続する線の矢印をダブルクリックして [リレーションシップの編集] ダイアログを開き、リレーションシップを表示または変更します。Double-click the arrow on the line connecting the two queries to open the Edit relationship dialog and view or change the relationship.

リレーションシップ ビュー

リレーションシップ ビューからレポート ビューに戻るには、 [レポート] アイコンを選びます。To get back to Report View from Relationships View, select the Report icon.

レポート ビュー

データを使って視覚エフェクトを作成するCreate visualizations using your data

Power BI Desktop レビュー ビューでさまざまな視覚エフェクトを作成し、データから分析情報を得ることができます。You can create different visualizations in Power BI Desktop Review View to gain data insights. レポートを複数のページで構成し、各ページに複数のビジュアルを含めることができます。Reports can have multiple pages, and each page can have multiple visuals. 他のユーザーと共に視覚エフェクトを操作し、データの分析や把握に役立てることができます。You and others can interact with your visualizations to help analyze and understand data. 詳細については、「Power BI サービスの編集ビューにおけるレポートの操作」を参照してください。For more information, see Interact with a report in Editing view in Power BI service.

両方のデータセットおよびそれらの間のリレーションシップを使うと、売上データの視覚化と分析に役立ちます。You can use both of your data sets, and the relationship between them, to help visualize and analyze your sales data.

最初に、両方のクエリからのフィールドを使う積み上げ縦棒グラフを作成し、各製品の注文数量を示します。First, create a stacked column chart that uses fields from both queries to show the quantity of each product ordered.

  1. 右側の [フィールド] ウィンドウで OrdersQuantity フィールドを選ぶか、フィールドをキャンバスの空白の領域にドラッグします。Select the Quantity field from Orders in the Fields pane at the right, or drag it onto a blank space on the canvas. 製品の合計注文数量を示す積み上げ縦棒グラフが作成されます。A stacked column chart is created showing the total quantity of all products ordered.

  2. 各製品の注文数量を表示するには、 [フィールド] ウィンドウで ProductsProductName を選択するか、フィールドをグラフにドラッグします。To show the quantity of each product ordered, select ProductName from Products in the Fields pane, or drag it onto the chart.

  3. 注文の多い順に製品を並べ替えるには、視覚エフェクトの右上にある [その他のオプション] の省略記号 ( ... ) を選択し、 [数量で並べ替える] を選択します。To sort the products by most to least ordered, select the More options ellipsis (...) at the visualization's upper right , and then select Sort By Quantity.

  4. グラフの隅にあるハンドルを使ってグラフを拡大し、より多くの製品名が表示されるようにします。Use the handles at the corners of the chart to enlarge it so more product names are visible.

    ProductName 別数量の横棒グラフ

次に、時間の経過 (OrderDate) に伴う注文の金額 (LineTotal) を示すグラフを作成します。Next, create a chart showing order dollar amounts (LineTotal) over time (OrderDate).

  1. キャンバスで何も選択されていない状態で、 [フィールド] ウィンドウの Orders から LineTotal を選ぶか、キャンバスの空白領域にドラッグします。With nothing selected on the canvas, select LineTotal from Orders in the Fields pane, or drag it to a blank space on the canvas. 積み上げ縦棒グラフに、すべての注文の合計金額が表示されます。The stacked column chart shows the total dollar amount of all orders.

  2. 積み上げ縦棒グラフを選択し、Orders から OrderDate を選択するか、グラフにドラッグします。Select the stacked chart, then select OrderDate from Orders, or drag it onto the chart. グラフに各注文日の明細合計が表示されるようになります。The chart now shows line totals for each order date.

  3. 視覚エフェクトのサイズを変更したり、表示されるデータを増やしたりするには、視覚エフェクトの隅をドラッグします。Drag the corners to resize the visualization and see more data.

    OrderDate 別 LineTotals の折れ線グラフ

    ヒント

    グラフに Years のみが表示される場合は (3 つのデータ ポイントだけ)、 [視覚化] ウィンドウの [軸] フィールドで OrderDate の横にある矢印をドロップダウンし、 [日付の階層] の代わりに OrderDate を選びます。If you only see Years on the chart (only three data points), drop down the arrow next to OrderDate in the Axis field of the Visualizations pane, and select OrderDate instead of Date Hierarchy.

最後に、各国の注文金額を示すマップ視覚エフェクトを作成します。Finally, create a map visualization showing order amounts from each country.

  1. キャンバスで何も選択されていない状態で、 [フィールド] ウィンドウの Orders から ShipCountry を選ぶか、キャンバスの空白領域にドラッグします。With nothing selected on the canvas, select ShipCountry from Orders in the Fields pane, or drag it to a blank space on the canvas. Power BI Desktop では、データが国名であることが検出されます。Power BI Desktop detects that the data is country names. 次に、地図が自動的に視覚化され、注文のある各国がデータ ポイントで示されます。It then automatically creates a map visualization, with a data point for each country with orders.

  2. データ ポイントのサイズに各国の注文量を反映させるには、 [LineTotal] フィールドを地図にドラッグします。To make the data point sizes reflect each country's order amounts, drag the LineTotal field onto the map. [視覚化] ウィンドウの [ここにデータ フィールドをドラッグしてください][サイズ] までドラッグすることもできます。You can also drag it to Drag data fields here under Size in the Visualizations pane. マップ上の円のサイズが、各国からの注文の金額を反映するようになります。The sizes of the circles on the map now reflect the dollar amounts of the orders from each country.

    ShipCountry 別 LineTotals のマップ視覚エフェクト

レポートのビジュアルと対話してさらに分析するInteract with your report visuals to analyze further

Power BI Desktop では、相互に強調表示し、互いにフィルターを適用するビジュアルを操作し、傾向をさらに明らかにすることができます。In Power BI Desktop, you can interact with visuals that cross-highlight and filter each other to uncover further trends. 詳しくは、Power BI レポートにおけるフィルター処理と強調表示に関する記事をご覧ください。For more information, see Filtering and Highlighting in Power BI Reports.

クエリ間のリレーションシップのため、ある視覚エフェクトと対話すると、そのページ上の他のすべての視覚エフェクトに反映されます。Because of the relationship between your queries, interactions with one visualization affect all the other visualizations on the page.

マップ視覚エフェクトで、カナダの中央にある円を選びます。On the map visualization, select the circle centered in Canada. 他の 2 つの視覚エフェクトがフィルター処理され、カナダの明細金額と注文数量が強調表示されます。The other two visualizations filter to highlight the Canadian line totals and order quantities.

カナダについてフィルター処理された売上データ

[ProductName 別数量] グラフの製品を選択すると、地図と、その製品のデータを反映させるための日付グラフ フィルターが表示されます。Select a Quantity by ProductName chart product to see the map and the date chart filter to reflect that product's data. [LineTotal by OrderDate] グラフの日付を選択すると、地図と、その日付のデータを表示するための製品グラフ フィルターが表示されます。Select a LineTotal by OrderDate chart date to see the map and the product chart filter to show that date's data.

ヒント

選択を解除するには、再びクリックするか、他の視覚エフェクトのいずれかをクリックします。To deselect a selection, select it again, or select one of the other visualizations.

完成した売上分析レポートComplete the sales analysis report

完成したレポートでは、Products.xlsx Excel ファイルと Northwind OData フィードからのデータが、さまざまな国の注文情報、期間、製品を分析するのに役立つビジュアルに結合されています。Your completed report combines data from the Products.xlsx Excel file and the Northwind OData feed in visuals that help you analyze different countries' order information, timeframes, and products. レポートの準備ができたら、それを Power BI サービスにアップロードして、他の Power BI ユーザーと共有できます。When your report is ready, you can upload it to Power BI service to share it with other Power BI users.

次の手順Next steps