Power BI レポートを作成してプロジェクトを分析する

注意

この記事は、Power Apps、Power Automate、および Power BI と SharePoint Online の使用に関するチュートリアル シリーズの一部です。 シリーズ全般に関することや、関連するファイルのダウンロードの詳細について、シリーズの概要 を必ずご覧ください。

このタスクでは、2 つの SharePoint リストに基づいて Power BI レポートを作成します。 リストのデータを Power BI Desktop に取り込み、少しクリーンアップを行ったり、基本的なデータ モデリングを行ったりします。その後、データの分析に役立つビジュアルのセットを作成します。

ヒント

このシナリオのダウンロード パッケージ には、このレポートの完成版 (project-analysis.pbix) が含まれています。

Power BI Desktop の復習

レポートの作成に入る前に、Power BI Desktop について復習します。 これは多くの機能を備えた強力なツールであるため、このタスクで使用する領域の概要に的をしぼって説明します。 Power BI Desktop には、レポート ビュー、データ ビュー、リレーションシップ ビューという 3 つの主な作業領域またはビューがあります。 Power BI Desktop には、別のウィンドウで開くクエリ エディターも含まれています。

次の画面では、Power BI Desktop の左側に沿って 3 つのビューのアイコン (レポートデータ、およびリレーションシップ) が上から下に表示されています。 左側の黄色のバーは、現在のビューを示しています。この場合は、レポート ビューが表示されています。 ビューを変更するには、これら 3 つのアイコンのいずれかを選択します。

Power BI Desktop ビュー

レポート ビューには、次の 5 つの主な領域があります。

  1. リボン。これにはレポートと視覚エフェクトに関連する一般的なタスクが表示されます。
  2. レポート ビューまたはキャンバス。ここに視覚エフェクトが作成されて配置されます。
  3. 下部にあるページ タブ領域。レポートのページを選択または追加できます。
  4. 視覚エフェクト ウィンドウ。ここで視覚エフェクトの変更、色や軸のカスタマイズ、フィルターの適用、フィールドのドラッグなどを行います。
  5. フィールド ウィンドウ。ここではクエリの要素とフィルターをレポート ビューにドラッグしたり、視覚エフェクト ウィンドウのフィルター領域にドラッグしたりできます。

Power BI Desktop タブ、ビュー、およびウィンドウ

データ ビューには、3 つの主な領域があります。

  1. リボン。下の画像ではモデリング タブが選択されています。 このタブでは、計算されたテーブルや列を作成し、データ モデルにその他の変更を加えます。
  2. 中央のウィンドウ。選択したテーブルのデータを表示します。
  3. フィールド ウィンドウ。レポートのフィールドの表示方法を管理します。

Power BI Desktop データ ビュー

リレーションシップ ビューはこのタスクでは使用しませんが、後ほど Power BI Desktop にリスト データを取り込んだ後で確認できます。

クエリ エディターでは、クエリを作成してデータを変換し、調整されたデータ モデルを Power BI Desktop に読み込みます。 クエリ エディターには、4 つの主な領域があります。

  1. リボン。取り込んだデータを整形したり変換したりするためのさまざまなオプションがあります。
  2. 左側のウィンドウ。クエリが一覧表示され、クエリを選択、表示、整形できます。
  3. 中央のウィンドウ。選択したクエリのデータが表示され、データを整形できます。
  4. クエリの設定ウィンドウ。クエリのプロパティと、適用したデータの変換ステップが一覧表示されます。

Power BI Desktop クエリ エディター

手順 1: Power BI Desktop にデータを取り込む

この手順では、まず 2 つのリストに接続します。 次に、データ分析に必要のない列を削除してデータをクリーンアップします。 また、計算が正しく動作するように、残りの列のデータ型をいくつか変更します。 Power BI Desktop でデータを取得したりクリーニングしたりする方法の詳細については、ガイド学習コースの「データの取得」セクションをご覧ください。

SharePoint リストに接続する

  1. Power BI Desktop のホーム タブで、データを取得さらに表示… の順にクリックまたはタップします。

    データの取得

  2. データを取得ダイアログ ボックスで、SharePoint Online リスト接続の順にクリックまたはタップします。

    SharePoint リストに接続する

  3. SharePoint サイトの URL を入力し、OK をクリックまたはタップします。

    SharePoint リストの URL

  4. 次のダイアログ ボックスが表示された場合は、正しい資格情報でサインインしていることを確認してから、接続をクリックまたはタップします。

    SharePoint リストの資格情報

  5. プロジェクトの詳細およびプロジェクトの申請を選択し、編集をクリックまたはタップします。

    SharePoint リストを選択する

    リストがクエリ エディターでテーブルとして表示されます。

    クエリ エディターのテーブル

不要な列をテーブルから削除する

  1. 左側のナビゲーション ウィンドウで、プロジェクトの詳細をクリックまたはタップします。

  2. 中央のウィンドウで、FileSystemObjectType 列を選択し、列の削除をクリックまたはタップします。

    列を削除する

  3. Id 列の後ろにある 2 つの列 (ServerRedirectedEmbedURLContentTypeId) を削除します。

    ヒント

    Shift キーを使用して両方の列を選択し、列の削除をクリックまたはタップします。

  4. PMAssigned 列の右側にあるすべての列 (合計 22 列) を削除します。 テーブルは次の画像のようになります。

    クエリ エディターのプロジェクトの詳細テーブル

  5. 今度はプロジェクトの申請でこのプロセスを最後まで繰り返します。FileSystemObjectTypeServerRedirectedEmbedURLContentTypeId、および右側にあるすべての承認済み列 (合計 22 列) を削除します。 テーブルは次の画像のようになります。

     クエリ エディターのプロジェクトの申請テーブル

プロジェクトの詳細列のデータ型を変更する

  1. ProjectedDays列を選択し、データ型: すべて整数の順にクリックまたはタップします。

    データ型を整数に変更

  2. 前述の手順を ActualDays 列でも繰り返します。

  3. ApprovedDate 列を選択し、データ型: すべて日付の順にクリックまたはタップします。

     データ型を日付に変更

  4. 前述の手順を ProjectedStartDate 列と ProjectedEndDate 列でも繰り返します。

プロジェクトの申請列のデータ型を変更する

  1. EstimatedDays 列を選択し、データ型: すべて整数の順にクリックまたはタップします。

  2. RequestDate 列を選択し、データ型: すべて日付の順にクリックまたはタップします。

変更を適用して保存する

  1. ホーム タブで閉じて適用をクリックしてクエリ エディターを閉じ、Power BI Desktop のウィンドウに戻ります。

    変更を閉じて適用

  2. ファイル保存の順にクリックまたはタップし、「project-analysis.pbix」というファイル名で保存します。

手順 2: データ モデルを改善する

SharePoint リストから Power BI Desktop へのデータの取り込みが完了したので、次にデータ モデリングを行います。 データ モデリングには時間がかかる場合がありますが、Power BI Desktop のリスト データをさらに活用するための興味深い方法を簡単にご紹介します。

  • 2 つのテーブルの相互関係を変更する
  • 日付テーブルを追加して平日に基づいて計算できるようにする
  • 計算列を追加してプロジェクトのマイルストーン間の期間を計算する
  • メジャーを追加してプロジェクトの予測日数と実績日数の差異を計算する

この手順が完了すれば、モデルの機能強化を活用する視覚エフェクトを作成できます。 Power BI Desktop でのデータのモデリングについて詳しくは、ガイド学習コースの「モデリング」セクションをご覧ください。

テーブル間の関連付けを変更する

Power BI Desktop でリストを取り込むと、両方のテーブルの Id 列に基づいてこのリスト間の関連付けが作成されます。 正確には、プロジェクトの申請テーブルの Id 列と、プロジェクトの詳細テーブルの RequestId 列との関連付けです。 それを修正します。

  1. データ ビュー アイコンをクリックまたはタップします。

    データ ビュー

  2. モデリング タブで、関連付けの管理をクリックまたはタップします。 データ モデリングの手順では、最後までデータ ビューのこのタブ上で作業を行います。

    関連付けの管理

  3. 既存の関連付けが選択されていることを確認し、削除をクリックまたはタップします。その後、確認のためにもう一度削除をクリックまたはタップします。

    関連付けの削除

  4. 新規をクリックして、別の関連付けを作成します。

  5. 関連付けの作成ダイアログ ボックスで次の作業を行います。

    1. 最初のテーブルで、プロジェクトの申請を選択して Id 列を選択します。

    2. 2 つ目のテーブルで、プロジェクトの詳細を選択して RequestId 列を選択します。

    3. スクリーンは次の画像のように表示されます。 準備ができたら OK閉じるの順にクリックまたはタップします。

      リレーションシップの作成

日付テーブルを追加して、日付ベースでの計算を簡単に行えるようにする

  1. 新しいテーブルをクリックまたはタップします。

    新しいテーブル

  2. 次の数式を数式バーに入力します: Dates = CALENDARAUTO()

    Dates = CALENDARAUTO() と入力された数式バー

    この数式は、日付列 1 つを含む日付というテーブルを作成します。 このテーブルには、お使いの他のテーブルのすべての日付が含まれています。また、日付が追加された場合 (データが更新された場合) は、自動で更新されます。

    この数式とこのセクションのその他の数式では、Power BI や他のテクノロジで使用されている数式言語の Data Analysis Expressions (DAX) を使用します。 詳細については、「Power BI Desktop での DAX の基本事項」を参照してください。

  3. Enter キーを押して、日付テーブルを作成します。

    日付テーブル

日付テーブルに計算列を追加する

  1. 日付テーブルを表示した状態で、新しい列をクリックまたはタップします。

    新しい列

  2. 次の数式を数式バーに入力します: IsWeekDay = SWITCH(WEEKDAY(Dates[Date]), 1,0,7,0,1)

    この数式は、日付列の日付が平日かどうかを決定します。 日付が平日なら IsWeekDay 列の値が 1 になり、そうでない場合は 0 になります。

  3. Enter キーを押して、日付テーブルに IsWeekDay 列を追加します。

    IsWeekDay 列の追加

プロジェクトの詳細テーブルに計算列を追加する

  1. 右側のウィンドウで、プロジェクトの詳細テーブル、新しい列の順にクリックまたはタップします。

    新しい列

  2. 次の数式を数式バーに入力します。

    ApprovedStartDiff = CALCULATE(SUM(Dates[IsWeekday]),
       DATESBETWEEN(Dates[Date],
          'Project Details'[ApprovedDate],
          'Project Details'[ProjectedStartDate]
      )
    )
    

    この数式は、プロジェクトが承認された日からプロジェクトの開始予定日までの日数を計算します。 日付テーブルの IsWeekday 列を使用し、平日のみをカウントします。

  3. Enter キーを押して、プロジェクトの詳細テーブルに ApprovedStartDiff 列を追加します。

    ApprovedStartDiff 列の追加

プロジェクトの詳細テーブルに計算列を追加する

  1. 右側のウィンドウで、プロジェクトの申請テーブル、新しい列の順にクリックまたはタップします。

    新しい列

  2. 次の数式を数式バーに入力します。

    RequestDateAge = CALCULATE(SUM(Dates[IsWeekday]),
       DATESBETWEEN(Dates[Date],
          'Project Requests'[RequestDate],
          NOW()
       )
    )
    

    この数式は、プロジェクトが申請された日から、本日の日付 (NOW()) までの日数を計算します。 先ほど同様、この数式は平日のみをカウントします。 この列は、保留期間が最も長いプロジェクトの検索に使用します。

  3. Enter キーを押して、プロジェクトの申請テーブルに RequestDateAge 列を追加します。

    RequestDateAge 列の追加

プロジェクトの詳細テーブルにメジャーを追加する

  1. 右側のウィンドウで、プロジェクトの詳細テーブル、新しいメジャーの順にクリックまたはタップします。

    新しいメジャー

  2. 次の数式を数式バーに入力します。

    VarProjectedActual = DIVIDE(
        SUM('Project Details'[ActualDays]) - SUM('Project Details'[ProjectedDays]),
        SUM('Project Details'[ProjectedDays])
    )
    

    この数式は、プロジェクトの実績日数と予測日数との差異を計算します。 この数式を計算列ではなくメジャーとして追加することで、レポートでのデータのフィルター方法や集計方法に関わらず、正しい結果を返すことができます。

  3. Enter キーを押して、プロジェクトの詳細テーブルに VarProjectedActual メジャーを追加します。

    VarProjectedActual メジャーの追加

プロジェクトの申請テーブルにメジャーを追加する

  1. 右側のウィンドウで、プロジェクトの申請テーブル、新しいメジャーの順にクリックまたはタップします。

    新しいメジャー

  2. 次の数式を数式バーに入力します。

    MaxDaysPending = MAXX(
        FILTER('Project Requests', 'Project Requests'[Approved]="Pending"),
        'Project Requests'[RequestDateAge]
    )
    

    この数式は、先ほど定義した計算列に基づいて、保留期間が最も長いプロジェクトを検索します。

  3. Enter キーを押して、プロジェクトの申請テーブルに MaxDaysPending メジャーを追加します。

    MaxDaysPending メジャーの追加

手順 3: レポートの視覚エフェクトを作成する

データの分析について考えるときに、多くの人が思い浮かべる段階まで到達しました。視覚エフェクトを作成することで、データのパターンを見つけることができます。 この手順では、4 つの視覚エフェクトを作成します。

  • プロジェクトの予測日数と実績日数を示す縦棒グラフ
  • 各プロジェクトの差異を示す縦棒グラフ
  • 保留期間が最も長いプロジェクトを示すカード
  • プロジェクトの承認日から開始予定日までの期間を示すテーブル

Power BI Desktop でこれらのレポートの視覚エフェクトを作成してから、Power BI サービスにデータとレポートを発行します。これにより、ダッシュボードの作成と共有が可能になります。 Power BI Desktop でのレポートの作成について詳しくは、ガイド学習コースの「視覚エフェクト」セクションをご覧ください。

予測と実績を示す縦棒グラフを作成する

  1. レポート ビュー アイコンをクリックまたはタップします。 Power BI Desktop での残りの作業では、最後までこのビューを使用します。

    レポート ビュー

  2. 右側の視覚エフェクト ウィンドウで、集合縦棒グラフをクリックまたはタップします。

    視覚エフェクト - 集合縦棒グラフ

  3. フィールド ウィンドウの プロジェクトの詳細から PMAssignedタイトルをドラッグして、視覚エフェクト ウィンドウのにドロップします。

    視覚エフェクト ウィンドウの軸

  4. フィールド ウィンドウのプロジェクトの詳細から ActualDaysProjectedDays をドラッグして、視覚エフェクト ウィンドウのにドロップします。

    視覚エフェクト ウィンドウの値

  5. 視覚エフェクトは次の画像のように表示されます。

    PMAssigned ごとの ProjectedDays と ActualDays

  6. フィールド ウィンドウのプロジェクトの詳細からステータスをドラッグし、視覚エフェクト ウィンドウのフィルター領域にドロップしてから、完了済チェック ボックスをオンにします。

    ステータス列によるフィルター

    完了したプロジェクトのみを表示するようにグラフがフィルター処理されました。予測した日数と実際の日数を比較しているところなので、これは理にかなっています。

  7. グラフの左上隅にある矢印をクリックして、プロジェクト管理者とプロジェクトの階層を上下に移動できます。 次の画像は、プロジェクトへのドリルダウンがどのように表示されるかを示しています。

    縦棒グラフの詳細

予測との差異を示す縦棒グラフを作成する

  1. 先ほど作成した視覚エフェクトの外側のキャンバスをクリックまたはタップします。

  2. 右側の視覚エフェクト ウィンドウで、集合縦棒グラフをクリックまたはタップします。

    視覚エフェクト - 集合縦棒グラフ

  3. フィールド ウィンドウの プロジェクトの詳細から PMAssignedタイトルをドラッグして、視覚エフェクト ウィンドウのにドロップします。

    視覚エフェクト ウィンドウの軸

  4. フィールド ウィンドウのプロジェクトの詳細から VarProjectedActual をドラッグし、視覚エフェクト ウィンドウのにドロップします。

    視覚エフェクト ウィンドウの値

  5. フィールド ウィンドウのプロジェクトの詳細からステータスをドラッグし、視覚エフェクト ウィンドウのフィルター領域にドロップしてから、完了済チェック ボックスをオンにします。

    ステータス列によるフィルター

    視覚エフェクトは次の画像のように表示されます。

    PMAssigned ごとの VarProjectedActual

    このグラフを見れば、Irvin Sayers と Joni Sherman によって実行されたそれぞれのプロジェクトにどの程度のばらつきがあるのか一目瞭然です。 プロジェクトごとのばらつきを詳しく確認し、予測日数が実績日数より多かったのか少なかったのかを確認します。

    タイトルごとの VarProjectedActual

  6. さらに視覚エフェクトを作成する前に、既に作成した視覚エフェクトを移動したりサイズ変更したりして、並べて表示できるようにします。

    グラフを横に並べる

保留期間が最も長いプロジェクトを示すカードを作成する

  1. 先ほど作成した視覚エフェクトの外側のキャンバスをクリックまたはタップします。

  2. 右側の視覚エフェクト ウィンドウで、カードをクリックまたはタップします。

    視覚エフェクト - カード

  3. フィールド ウィンドウのプロジェクトの申請から MaxDaysPending をドラッグし、視覚エフェクト ウィンドウのフィールドにドロップします。

    視覚エフェクト ウィンドウのフィールド

  4. 書式設定 (ペイント ローラー) をクリックまたはタップして、罫線オンに設定します。

    書式のコピー/貼り付け - 罫線

  5. タイトルオンに設定し、「承認プロジェクトの最大保留日数」というタイトルを追加します。

    タイトルを追加する

    視覚エフェクトは次の画像のように表示されます。

     承認プロジェクトの最大保留日数

    このレポートを発行したあと、このタイルを使用して、保留中のプロジェクトの最大値が特定のしきい値に達した場合に、アラートをトリガーするようにします。

プロジェクトの承認日から開始予定日までの期間を表示するテーブルを作成する

  1. 先ほど作成した視覚エフェクトの外側のキャンバスをクリックまたはタップします。

  2. 右側の視覚エフェクト ウィンドウで、テーブルをクリックまたはタップします。

    視覚エフェクト - テーブル

  3. フィールド ウィンドウのプロジェクトの詳細から PMAssignedタイトルApprovedStartDiff をドラッグして、視覚エフェクト ウィンドウのにドロップします。

    視覚エフェクト ウィンドウの値

  4. フィールド ウィンドウのプロジェクトの詳細から ProjectedStartDate をドラッグし、視覚エフェクト ウィンドウのフィルター領域にドロップし、(空白) 以外のすべての日付を選択します。

    ProjectedStartDate によるフィルター

  5. すべてのデータが表示されるようにテーブルの列のサイズを調整し、ApprovedStartDiff で降順に並び替えます。 視覚エフェクトは次の画像のように表示されます。

    ApprovedStartDiff の値が表示されたテーブル

  6. の領域で、ApprovedStartDiff の下矢印をクリックまたはタップしてから、平均をクリックまたはタップします。 これで、プロジェクトの承認日から開始予定日までにかかった平均日数を確認できるようになりました。

    平均の計算

  7. ApprovedStartDiff の下矢印をもう一度クリックまたはタップし、条件付き書式バックグラウンドのカラー スケールの順にクリックまたはタップします。

    条件付き書式

  8. 次に示すように最小最大フィールドの色を設定して、OK をクリックまたはタップします。

    条件付き書式のオプション

    視覚エフェクトは次の画像のように表示されます。

    完了した条件付き書式

    ご覧のように、Irvin Sayers が実行するプロジェクトは承認から開始までの期間が長い傾向があります。 割り当てられた管理者以外の要因がある可能性もありますが、これは詳しく調べてみる価値がありそうです。

レポートに関するセクションはこれで終了です。SharePoint からインポートし、Power BI Desktop でクリーンアップおよびモデリングしたデータをベースとしたレポートが完成しました。 すべてが手順どおりに進んでいれば、レポートは次の画像のように表示されているはずです。

完成したレポート

次の手順

このチュートリアル シリーズの次の手順では、Power BI プロジェクトのレポートを発行してダッシュボードを作成 します。

関連項目