Power BI Desktop で Azure Cost Management コネクタを使用してビジュアルとレポートを作成する

Power BI Desktop 用の Azure Cost Management コネクタを使用すると、強力でカスタマイズされた視覚化とレポートを作成し、Azure のコストの理解を深めることができます。 現在、Azure Cost Management コネクタは、直接 Microsoft 顧客契約または Enterprise Agreement (EA) を結んでいるお客様をサポートしています。

Azure Cost Management コネクタは、従量課金制の Microsoft 顧客契約または間接的な Microsoft 顧客契約をサポートしていません。 Microsoft パートナー契約もサポートしていません。 サポートされていない契約がある場合は、エクスポートを使用してコスト データを共有に保存し、Power BI を使用してそれに接続できます。 詳細については、チュートリアル - Azure Cost Management からのエクスポートされたデータの作成および管理 | Microsoft Docs に関するページを参照してください。

Azure Cost Management コネクタは、Azure での認証に OAuth 2.0 を使用して、コネクタを利用するユーザーを識別します。 このプロセスで生成されるトークンは、特定の期間、有効です。 Power BI は、次回のログインのためにトークンを保持します。 OAuth 2.0 は、これらのアクセス許可の安全な処理を保証するためにバックグラウンドで実行されるプロセスのための標準です。 接続するには、Enterprise Agreement のエンタープライズ管理者アカウントを使用するか、Microsoft 顧客契約の課金アカウントまたは課金プロファイル レベルで適切なアクセス許可を持っている必要があります。

Note

このコネクタは、以前にリリースされていた Azure Consumption Insights および Azure Cost Management (ベータ) コネクタに置き換わるものです。 前のコネクタで作成されたレポートはすべて、このコネクタを使用して再作成する必要があります。

Azure Cost Management を使用して接続する

Power BI Desktop で Azure Cost Management コネクタを使用するには、次の手順を実行します。

  1. [ホーム] リボンで [データの取得] を選択します。

  2. データ カテゴリの一覧から [Azure] を選択します。

  3. [Azure Cost Management] を選択します。

    Get data

  4. 表示されるダイアログ ボックスの [スコープの選択] ドロップ ダウンで、Microsoft 顧客契約の場合は [Manually Input Scope](手動入力のスコープ) を選び、Enterprise Agreement (EA) の場合は [加入契約番号] を選びます。

Microsoft 顧客契約アカウントに接続する

このセクションでは、Microsoft 顧客契約アカウントに接続するために必要な手順について説明します。

請求先アカウントに接続する

請求先アカウントに接続するには、Azure portal から請求先アカウント ID を取得する必要があります。

  1. Azure portal で、 [コストの管理と請求] に移動します。

  2. ご自分の課金プロファイルを選択します。

  3. メニューの [設定] でサイドバーの [プロパティ] を選択します。

  4. [課金プロファイル][ID] をコピーします。 Screenshot of Cost management billing profile

  5. [スコープの選択] には [Manually Input Scope](手動入力のスコープ) を選択し、下の例のように接続文字列を入力します。そのとき、前の手順でコピーしたデータで {billingAccountId} を置き換えます。 /providers/Microsoft.Billing/billingAccounts/{billingAccountId}

    あるいは、[スコープの選択] については [加入契約番号] を選び、前の手順でコピーした請求先アカウント ID を入力します。

  6. 月数を入力し、[OK] を選択します。

    Screenshot of Azure Cost Management with number of months input

    または、1 か月分未満のデータをダウンロードする場合は、[月数] を 0 に設定して、[開始日][終了日] の値を使用して 31 日未満に相当する日付範囲を指定することもできます。

  7. プロンプトが表示されたら、Azure ユーザー アカウントとパスワードを使用してサインインします。 課金データに正常にアクセスするには、課金アカウント スコープにアクセスできる必要があります。

課金プロファイルに接続する

課金プロファイルに接続するには、Azure portal から課金プロファイル ID請求先アカウント ID を取得する必要があります。

  1. Azure portal で、 [コストの管理と請求] に移動します。

  2. ご自分の課金プロファイルを選択します。

  3. メニューの [設定] でサイドバーの [プロパティ] を選択します。

  4. [課金プロファイル][ID] をコピーします。

  5. [請求先アカウント] から ID をコピーします。

    Screenshot of Azure Cost Management billing account information

  6. [スコープの選択] には [Manually Input Scope](手動入力のスコープ) を選択し、下の例のように接続文字列を入力します。そのとき、前の手順でコピーしたデータで {billingAccountId}{billingProfileId} を置き換えます。

    /providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}

  7. 月数を入力し、[OK] を選択します。

  8. プロンプトが表示されたら、Azure ユーザー アカウントとパスワードを使用してサインインします。 課金プロファイル データに正常にアクセスするには、課金プロファイルにアクセスできる必要があります。

Enterprise Agreement アカウントに接続する

Enterprise Agreement (EA) アカウントを使用して接続するには、Azure portal から登録 ID を取得します。

  1. Azure portal で、 [コストの管理と請求] に移動します。

  2. ご自分の請求先アカウントを選択します。

  3. [概要] メニューで、[請求先アカウント ID] をコピーします。

  4. [範囲の選択] については [加入契約番号] を選択し、前の手順の課金プロファイル ID を貼り付けます。

  5. 月数を入力し、[OK] を選択します。

    Screenshot shows the Azure Cost Management properties with a scope of Enrollment number.

  6. プロンプトが表示されたら、Azure ユーザー アカウントとパスワードを使用してサインインします。 Enterprise Agreements には Enterprise Administrator アカウントを使用する必要があります。

コネクタ経由で使用できるデータ

正常に認証されると、[ナビゲーター] ウィンドウが開き、次の使用できるデータ テーブルが表示されます。

Table 説明
Balance summary Enterprise Agreements (EA) の現在の請求月の概要。
Billing events 新しい請求書やクレジットでの購入などのイベント ログ。Microsoft 顧客契約のみ。
Budgets 既存の予算目標に対する実際のコストや使用状況を確認できる予算の詳細。
Charges Azure の使用状況、マーケットプレイスの料金、および別請求の料金についての月レベルの概要。 Microsoft 顧客契約のみ。
Credit lots 指定された課金プロファイルの Azure クレジット ロット購入の詳細。 Microsoft 顧客契約のみ。
Pricesheets 指定された課金プロファイルまたは EA 登録に適用可能な測定レート。
RI charges 過去 24 か月の間の、ご利用の予約インスタンスに関連付けられている料金。 この表は非推奨になる予定です。RI トランザクションを使用してください
RI recommendations (shared) 過去 30 日間のすべてのサブスクリプションの使用状況の傾向に基づく、予約インスタンスの購入に関する推奨事項。
RI recommendations (single) 過去 30 日間の単一のサブスクリプションの使用状況の傾向に基づく、予約インスタンスの購入に関する推奨事項。
RI トランザクション 課金アカウント スコープでの予約インスタンスのトランザクションの一覧。
RI usage details 過去 1 か月の間の既存の予約インスタンスの消費に関する詳細。
RI usage summary 日次の Azure の予約使用率。
Usage details EA 登録に対する指定した課金プロファイルの消費量と見積もり料金の内訳。
Usage details amortized EA 登録に対する指定した課金プロファイルの消費量と見積もられた償却済み料金の内訳。

テーブルを選択すると、プレビュー ダイアログが表示されます。 1 つまたは複数のテーブルを選択するには、名前の横にあるボックスをオンにして [読み込み] を選択します。

Screenshot shows the Navigator dialog box.

[読み込み] を選択すると、Power BI Desktop にデータが読み込まれます。

選択したデータが読み込まれると、データ テーブルとフィールドは [フィールド] ウィンドウに表示されます。

考慮事項と制限事項

Azure Cost Management データ コネクタには、次の考慮事項と制限事項が当てはまります。

  • Power BI では、100 万行を超えるデータ行の要求はサポートされていません。 代わりに、Azure Cost Management でエクスポートされたデータの作成と管理に関するページで説明されているエクスポート機能を使います。

  • Azure Cost Management データ コネクタは、Office 365 GCC の顧客アカウントでは機能しません。

  • データ更新: コストと使用状況のデータは、通常、8 から 24 時間以内に更新され、Azure portal とサポートされる API で使用できます。そのため、Power BI のスケジュールされた更新は 1 日に 1 回か 2 回に制限することをお勧めしています。

  • データ ソースの再利用: 同じデータをプルするレポートが複数あり、レポート固有のデータ変換の追加が必要ない場合は、同じデータ ソースを再利用してください。この場合、使用状況の詳細データをプルするために必要な時間が短縮されます。

    データ ソースの再利用の詳細については、次を参照してください。

3 か月を超える日付パラメーターを選択した場合、データを更新しようとするときに、RI usage details (RI 使用状況の詳細) から "400 - 無効な要求" を受け取る場合があります。 このエラーを軽減するには、次の手順を行います。

  1. Power BI Desktop で、[ホーム] > [データの変換] を選びます。

  2. Power Query エディターで RI usage details (RI 使用状況の詳細) データセットを選択し、 [詳細エディター] を選択します。

  3. 以降の段落に示すように、Power Query コードを更新します。これにより、呼び出しが 3 か月のチャンクに分割されます。 登録番号、または課金アカウントまたは課金プロファイル ID をメモして保持してください。

    EA の場合は、次のコード更新を使用します。

    let
        enrollmentNumber = "<<Enrollment Number>>",
        optionalParameters1 = [startBillingDataWindow = "-9", endBillingDataWindow = "-6"],
        source1 = AzureCostManagement.Tables("Enrollment Number", enrollmentNumber, 5, optionalParameters1),
        riusagedetails1 = source1{[Key="riusagedetails"]}[Data],
        optionalParameters2 = [startBillingDataWindow = "-6", endBillingDataWindow = "-3"],
        source2 = AzureCostManagement.Tables("Enrollment Number", enrollmentNumber, 5, optionalParameters2),    
        riusagedetails2 = source2{[Key="riusagedetails"]}[Data],
        riusagedetails = Table.Combine({riusagedetails1, riusagedetails2})
    in
        riusagedetails
    

    Microsoft 顧客契約の場合は、次の更新を使用します。

    let
        billingProfileId = "<<Billing Profile Id>>",
        optionalParameters1 = [startBillingDataWindow = "-9", endBillingDataWindow = "-6"],
        source1 = AzureCostManagement.Tables("Billing Profile Id", billingProfileId, 5, optionalParameters1),
        riusagedetails1 = source1{[Key="riusagedetails"]}[Data],
        optionalParameters2 = [startBillingDataWindow = "-6", endBillingDataWindow = "-3"],
        source2 = AzureCostManagement.Tables("Billing Profile Id", billingProfileId, 5, optionalParameters2),    
        riusagedetails2 = source2{[Key="riusagedetails"]}[Data],
        riusagedetails = Table.Combine({riusagedetails1, riusagedetails2})
    in
        riusagedetails
    
    
  4. 前の手順の適切な更新を使用してコードを更新したら、[完了] を選択し、[閉じて適用] を選択します。

使用状況の詳細でタグが機能しなかったり、タグ列を json に変換できなかったりする状況が発生する場合があります。 この問題が発生する原因は、現在の UCDD API からタグ列が返される際に開始角かっこと終了角かっこがトリミングされることにあります。結果、列は文字列として返されるため、Power BI ではそれを変換することができません。 この状況を回避するには、次の手順を行います。

  1. クエリ エディターに移動します。
  2. [使用状況の詳細] テーブルを選択します。
  3. 右側のウィンドウの [プロパティ] ウィンドウに [適用したステップ] が表示されます。 [ナビゲーション] ステップの後に、ステップにカスタム列を追加する必要があります。
  4. メニューから、[列の追加]>[カスタム列の追加] の順に選択します。
  5. 列に名前を付けます。たとえば、列に TagsInJson などの任意の名前を付けてから、クエリに次のテキストを入力します。
    
    ```= "{"& [Tags] & "}"
    
  6. 前のステップを完了すると、"タグ" の新しい列が json 形式で作成されます
  7. 必要に応じて列の転送および展開を行えるようになりました。

Azure の Active Directory ゲスト アカウントで発生した認証の問題: 登録または課金のアカウントにアクセスする適切なアクセス許可を持っているにもかかわらず、次のいずれかのような認証エラーを受け取ることがあります。

  • リソースへのアクセスが禁止されています
  • 提供された資格情報で認証することができませんでした。 もう一度やり直してください。

これらのエラーは、ゲスト ユーザーとして追加された別の Azure Active Directory ドメインのユーザー アカウントを持っていることが原因の可能性があります。

ゲスト アカウントの場合: Cost Management Power BI コネクタに接続するときに認証ダイアログが表示されるので、次の設定またはオプションを使います。

  1. [サインイン] を選びます
  2. [別のアカウントを使用する] (ダイアログの一番下) を選びます
  3. [サインイン オプション] (ダイアログ ボックスの下部) を選びます。
  4. [組織にサインイン] を選びます
  5. [ドメイン名] には、ゲストとして追加した Azure Active Directory ドメインの完全修飾ドメイン名 (FQDN) を指定します。
  6. 次に、[アカウントの選択] で、以前に認証したユーザー アカウントを選びます。

次の手順

Power BI Desktop を使用すれば、さまざまな種類のデータ ソースに接続できます。 詳細については、次の記事を参照してください。