分析データを変換して Power BI レポートを生成する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Power BI に Analytics データをインポートしたら、レポートを作成する前に選択列データの変換が必要になる場合があります。 この記事では、次のような基本的なタスクを実行する方法について説明します。

  • [領域]、[AssignedTo]、[イテレーション] などの列を展開する
  • リンクされた作業項目のクエリを実行するときに子孫列を展開する
  • 選択したカテゴリの状態のカウントを生成するピボット列
  • 列データ型を 10 進数から整数に変換する
  • 列データの null 値を置き換える
  • カスタム フィールドを作成する
  • フィールドの名前を変更します。

列の展開

このクエリでは、Power BI で使用する前に展開する必要がある複数の列が返されます。 OData $expand ステートメントを使用して取り込 まれたエンティティは、潜在的に複数のフィールドを持つレコードを返します。 エンティティをフィールドにフラット化するには、レコードを展開する必要があります。 このようなエンティティの例として、AssignedTo、IterationArea があります。

詳細エディター閉じた後、Power Query エディターメインし直しながら、フラット化する必要があるエンティティの展開ボタンを選択します。

  1. たとえば、[領域] の展開ボタンを選択し、展開するプロパティを選択して、[OK] を選択します。 ここでは、フラット化を選択 AreaName します AreaPath 。 このプロパティはAreaName、[ノード名] フィールドに似ています。

    Screenshot of Power BI transform data, Expand AreaPath column.

    Note

    選択できるプロパティは、クエリで返すように要求されたプロパティによって異なります。 プロパティを指定しない場合は、すべてのプロパティを使用できます。 これらのプロパティの詳細については、次のメタデータ参照を参照してください。

  2. テーブルにエンティティ フィールドが含まれるようになりました。

    Screenshot of expanded Area columns.

  3. 展開が必要なエンティティを表すすべてのフィールドについて、手順 1 から 3 を繰り返します。 これらは、展開されていないときにテーブル列に表示されるレコードと共に表示されます。

[子孫] 列を展開する

Descendants 列には、StateTotalStoryPoints の 2 つのフィールドを含むテーブルが含まれています。 展開します。

  1. [展開] ボタンを選択し、レポートする列を選択します。

    Screenshot of Power BI Descendants column.

  2. すべての列を確認し、[OK] を選択 します

    Screenshot of Power BI Descendants column, expand options.

  3. Descendants エンティティは、選択した列にフラット化されます。

    Screenshot of Power BI expanded Descendants column.

Pivot Descendants.StateCategory 列

  1. 1Descendants.StateCategory1 列ヘッダーを選択して選択します。

  2. [変換] メニューを選択し、[列をピボット] を選択しますTransform menu, Pivot Column option.

  3. [ピボット列] ダイアログで、[値] を選択Descendants.TotalStoryPointsし、[OK] を押します。 Power BI では、すべての StateCategory 値の列が作成されます。

    Dialog of Pivot Column for Descendants.TotalStoryPoints column.

  1. 列の展開ボタンを Links 選択します。

    Screenshot of Power BI Links column, expand options.

  2. フラット化するすべてのフィールドを選択します。

    Screenshot of Power BI Links column, expand options.

  3. 列の展開ボタンを Links.TargetWorkItem 選択し、フラット化するプロパティを選択します。

    Screenshot of Power BI Links.TargetWorkItem column, expand options.

Note

リンクが一対多または多対多のリレーションシップを表している場合、複数のリンクが複数の行 (リンクごとに 1 行) に展開されます。

たとえば、作業項目 #1 が作業項目の #2 および #3 にリンクされている場合、リンク レコードを展開すると、作業項目 #1 に対して 2 行が作成されます。 1 つは作業項目 #2 へのリンクを表し、もう 1 つは作業項目 #3 へのリンクを表します。

列データ型を変換する

LeadTimeDays と CycleTimeDays を整数に変換する

LeadTimeDays 10 進フィールドと CycleTimeDays 10 進フィールドです。 たとえば、リード タイムが 10 日と 1/2 日の場合、値は 10.5 です。 ほとんどのリード/サイクル時間レポートでは、最も近い日に丸められたと見なされるため、これらのフィールドを整数に変換する必要があります。 この変換を行う場合、1 未満のすべての値が 0 に変換されます。

Power Query エディターで、リボンの [変換] メニューを選択します。

  1. 列ヘッダーを LeadTimeDays 選択して列を選択します。

  2. [データ型] を選択し、[整数] に変更します

    Screenshot of Power BI Transform menu, Data type selection.

  3. を繰り返します CycleTimeDays

CompletedDateSK を日付フィールドに変更する

列データはCompletedDateSK、形式YYYYMMDDの [完了日] フィールドの整数レンダリングに対応します。 たとえば、2022 年 7 月 1 日の整数値は20220701。 レポートを簡単にするために、日付フィールドに変更します。

Power Query エディターで、リボンの [変換] メニューを選択します。

  1. 列ヘッダーを CompletedDateSK 選択します。

  2. [データ型] を選択し、[テキスト] に変更します [列の種類の変更] ダイアログが表示されたら、[現在のステップを置き換える] ではなく [新しいステップの追加] を選択します。 この 2 段階のプロセスは、Power BI で適切な日付フィールドに変更する最も簡単な方法です。

    Screenshot of Power BI Transform menu, Change Column Type dialog.

  3. 次に、もう一度 [日付の種類] を選択し、[日付] を選択します。 [列の種類の変更] ダイアログで、[新しいステップの追加] を選択します。

値を置き換える

1 つ以上のレコードに NULL 値が含まれている場合があります。 たとえば、ストーリー ポイントReメインing Work に値が入力されていない可能性があります。

Screenshot of Power BI table containing null values.

レポートを簡単にするために、次の手順に従って null をゼロに置き換えます。

  1. 列ヘッダーをクリックして列を選択します。
  2. [変換] メニューを選択します。
  3. [値の置換] を選択 します。 [値の置換] ダイアログで、次の手順を 実行します。
    • [検索する値] に 「null」と入力します
    • [置換後の文字列] に「0」と入力します。
  4. OK を選択します。

カスタム列を作成する

達成率の計算列を作成する

達成率列を追加する前に、ピボット状態列のすべての null 値を必ず置き換えてください。

  1. [列の追加] メニューを選択します。

  2. [カスタム列] を選択 します

  3. 新しい列名に PercentComplete入力します

  4. カスタム列の数式に次のように入力します。

    = [Completed]/([Proposed]+[InProgress]+[Resolved]+[Completed])
    

    Custom Column Dialog, PercentComplete syntax.

    Note

    作業項目の状態が解決済みワークフロー状態カテゴリにマップされていない場合は、解決済み列がない可能性があります。 その場合は、上記の数式で "[解決済み]" を省略します。

  5. OK をクリックします。

  6. [変換] メニューを選択します。

  7. [データ型] を選択し、[パーセンテージ] を選択します

列フィールドの名前を変更する

展開が完了したら、1 つ以上の列の名前を変更できます。

  1. 列ヘッダーを右クリックし、[名前の変更]を選択 します。..

    Power BI Rename Columns

  2. 列フィールドの新しいラベルを入力し、Enter キーを押します。

クエリを閉じて変更を適用する

すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。

Screenshot of Power Query Editor Close and Apply option.