Power BI Desktop で Microsoft Cost Management コネクタを使用してビジュアルとレポートを作成する
Power BI Desktop 用の Microsoft Cost Management コネクタを使用すると、強力でカスタマイズされた視覚化とレポートを作成し、Azure のコストの理解を深めることができます。
Microsoft Cost Management コネクタは現在のところ、以下をお持ちのお客様がご利用いただけます。
- 直接の Microsoft 顧客契約
- Enterprise Agreement (EA)
- Microsoft Partner Agreement
サポートされていない契約がある場合は、エクスポートを使用してコスト データを共有に保存し、Power BI を使用してそれに接続できます。 詳細については、チュートリアル - Microsoft Cost Management からエクスポートされたデータの作成および管理に関する記事を参照してください。
Microsoft Cost Management コネクタは、Azure での認証に OAuth 2.0 を使用して、コネクタを利用するユーザーを識別します。 このプロセスで生成されるトークンは、特定の期間、有効です。 Power BI は、次回のサインインのためにトークンを保持します。 OAuth 2.0 は、これらのアクセス許可の安全な処理を保証するためにバックグラウンドで実行されるプロセスのための標準です。 接続するには、Enterprise Agreement のエンタープライズ管理者アカウントを使用するか、Microsoft 顧客契約の課金アカウントまたは課金プロファイル レベルで適切なアクセス許可を持っている必要があります。
Microsoft Cost Management を使用して接続する
Power BI Desktop で Microsoft Cost Management コネクタを使用するには、次の手順を実行します。
[ホーム] リボンで [データの取得] を選択します。
データ カテゴリの一覧から [Azure] を選択します。
[Microsoft Cost Management] を選択します。
表示されるダイアログ ボックスの [スコープの選択] ドロップ ダウンで、Microsoft 顧客契約の場合は [Manually Input Scope](手動入力のスコープ) を選び、Enterprise Agreement (EA) の場合は [加入契約番号] を選びます。
Microsoft 顧客契約アカウントに接続する
このセクションでは、Microsoft 顧客契約アカウントに接続するために必要な手順について説明します。
請求先アカウントに接続する
請求先アカウントに接続するには、Azure portal から請求先アカウント ID を取得する必要があります。
Azure portal で、 [コストの管理と請求] に移動します。
ご自分の課金プロファイルを選択します。
メニューの [設定] でサイドバーの [プロパティ] を選択します。
[課金プロファイル] で [ID] をコピーします。
[スコープの選択] には [Manually Input Scope] (スコープの手動入力) を選択し、次の例のように接続文字列を入力します。そのとき、前の手順でコピーしたデータで {billingAccountId} を置き換えます。
/providers/Microsoft.Billing/billingAccounts/{billingAccountId}
あるいは、[スコープの選択] については [加入契約番号] を選び、前の手順でコピーした請求先アカウント ID を入力します。
月数を入力し、[OK] を選択します。
または、1 か月分未満のデータをダウンロードする場合は、[月数] を 0 に設定して、[開始日] と [終了日] の値を使用して 31 日未満に相当する日付範囲を指定することもできます。
プロンプトが表示されたら、Azure ユーザー アカウントとパスワードを使用してサインインします。 課金データに正常にアクセスするには、課金アカウント スコープにアクセスできる必要があります。
課金プロファイルに接続する
課金プロファイルに接続するには、Azure portal から課金プロファイル ID と請求先アカウント ID を取得する必要があります。
Azure portal で、 [コストの管理と請求] に移動します。
ご自分の課金プロファイルを選択します。
メニューの [設定] でサイドバーの [プロパティ] を選択します。
[課金プロファイル] で [ID] をコピーします。
[請求先アカウント] から ID をコピーします。
[スコープの選択] には [Manually Input Scope] (スコープの手動入力) を選択し、次の例のように接続文字列を入力します。そのとき、前の手順でコピーしたデータで {billingAccountId} と {billingProfileId} を置き換えます。
/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}
月数を入力し、[OK] を選択します。
プロンプトが表示されたら、Azure ユーザー アカウントとパスワードを使用してサインインします。 課金プロファイル データに正常にアクセスするには、課金プロファイルにアクセスできる必要があります。
Enterprise Agreement アカウントに接続する
Enterprise Agreement (EA) アカウントを使用して接続するには、Azure portal から登録 ID を取得します。
Azure portal で、 [コストの管理と請求] に移動します。
ご自分の請求先アカウントを選択します。
[概要] ブレードで、[課金アカウント ID] をコピーします。
[範囲の選択] で、[加入契約番号] を選択します。
[範囲識別子] に、前の手順でコピーした課金アカウント ID を貼り付けます。
月数を入力し、[OK] を選択します。
プロンプトが表示されたら、Azure ユーザー アカウントとパスワードを使用してサインインします。 Enterprise Agreements には Enterprise Administrator アカウントを使用する必要があります。
コネクタ経由で使用できるデータ
正常に認証されると、[ナビゲーター] ウィンドウが開き、次の使用できるデータ テーブルが表示されます。
Table | アカウントの種類 | サポートされているスコープ | 説明 |
---|---|---|---|
Balance summary | EA のみ | EA 登録 | Enterprise Agreements (EA) の現在の請求月の概要。 |
Billing events | MCA のみ | 課金プロファイル | 新しい請求書やクレジットでの購入などのイベント ログ。Microsoft 顧客契約のみ。 |
Budgets | EA、MCA | EA 加入契約、MCA 課金アカウント、MCA 課金プロファイル | 既存の予算目標に対する実際のコストや使用状況を確認できる予算の詳細。 |
Charges | MCA のみ | MCA 課金プロファイル | Azure の使用状況、マーケットプレイスの料金、および別請求の料金についての月レベルの概要。 Microsoft 顧客契約のみ。 |
Credit lots | MCA のみ | MCA 課金プロファイル | 指定された課金プロファイルの Azure クレジット ロット購入の詳細。 Microsoft 顧客契約のみ。 |
Pricesheets | EA、MCA | EA 加入契約、MCA 課金プロファイル | 指定された課金プロファイルまたは EA 登録に適用可能な測定レート。 |
RI charges | EA、MCA | EA 加入契約、MCA 課金プロファイル | 過去 24 か月の間の、ご利用の予約インスタンスに関連付けられている料金。 この表は非推奨になる予定です。代わりに RI トランザクションを使用してください |
RI recommendations (shared) | EA、MCA | EA 加入契約、MCA 課金プロファイル | 過去 30 日間のすべてのサブスクリプションの使用状況の傾向に基づく、予約インスタンスの購入に関する推奨事項。 |
RI recommendations (single) | EA、MCA | EA 加入契約、MCA 課金プロファイル | 過去 30 日間の単一のサブスクリプションの使用状況の傾向に基づく、予約インスタンスの購入に関する推奨事項。 |
RI トランザクション | EA、MCA | EA 加入契約、MCA 課金プロファイル | 課金アカウント スコープでの予約インスタンスのトランザクションの一覧。 |
RI usage details | EA、MCA | EA 加入契約、MCA 課金プロファイル | 過去 1 か月の間の既存の予約インスタンスの消費に関する詳細。 |
RI usage summary | EA、MCA | EA 加入契約、MCA 課金プロファイル | 日次の Azure の予約使用率。 |
Usage details | EA、MCA | EA 登録、MCA 課金アカウント、MCA 課金プロファイル | EA 登録に対する指定した課金プロファイルの消費量と見積もり料金の内訳。 |
Usage details amortized | EA、MCA | EA 登録、MCA 課金アカウント、MCA 課金プロファイル | EA 登録に対する指定した課金プロファイルの消費量と見積もられた償却済み料金の内訳。 |
テーブルを選択すると、プレビュー ダイアログが表示されます。 1 つまたは複数のテーブルを選択するには、名前の横にあるボックスをオンにして [読み込み] を選択します。
[読み込み] を選択すると、Power BI Desktop にデータが読み込まれます。
選択したデータが読み込まれると、データ テーブルとフィールドは [フィールド] ウィンドウに表示されます。
考慮事項と制限事項
Microsoft Cost Management データ コネクタには、次の考慮事項と制限事項が当てはまります。
Power BI では、100 万行を超えるデータ行の要求はサポートされていません。 代わりに、Microsoft Cost Management でエクスポートされたデータの作成と管理に関するページで説明されているエクスポート機能を使用してみることができます。
Microsoft Cost Management データ コネクタは、Office 365 GCC の顧客アカウントでは機能しません。
データ更新: コストと使用状況のデータは、通常、8 から 24 時間以内に更新され、Azure portal とサポートされる API で使用できます。そのため、Power BI のスケジュールされた更新は 1 日に 1 回か 2 回に制限することをお勧めしています。
データ ソースの再利用: 同じデータをプルするレポートが複数あり、レポート固有のデータ変換の追加が必要ない場合は、同じデータ ソースを再利用してください。これにより、使用状況の詳細データをプルするために必要な時間が短縮されます。
データ ソースの再利用の詳細については、次を参照してください。
3 か月を超える日付パラメーターを選択した場合、データを更新しようとするときに、RI usage details (RI 使用状況の詳細) から "400 - 無効な要求" を受け取る場合があります。 このエラーを軽減するには、次の手順を行います。
Power BI Desktop で、[ホーム] > [データの変換] を選びます。
Power Query エディターで RI usage details (RI 使用状況の詳細) セマンティック モデルを選択し、[詳細エディター] を選択します。
以降の段落に示すように、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
前の手順の適切な更新を使用してコードを更新したら、[完了] を選択し、[閉じて適用] を選択します。
使用状況の詳細でタグが機能しなかったり、タグ列を json に変換できなかったりする状況が発生する場合があります。 この問題が発生する原因は、現在の UCDD API からタグ列が返される際に開始角かっこと終了角かっこがトリミングされることにあります。結果、列は文字列として返されるため、Power BI ではそれを変換することができません。 この状況を回避するには、次の手順を行います。
- クエリ エディターに移動します。
- [使用状況の詳細] テーブルを選択します。
- 右側のウィンドウの [プロパティ] ウィンドウに [適用したステップ] が表示されます。 [ナビゲーション] ステップの後に、ステップにカスタム列を追加する必要があります。
- メニューから、[列の追加]>[カスタム列の追加] の順に選択します。
- 列に名前を付けます。たとえば、列に TagsInJson などの任意の名前を付けてから、クエリに次のテキストを入力します。
```= "{"& [Tags] & "}"
- 前のステップを完了すると、"タグ" の新しい列が json 形式で作成されます
- 必要に応じて列の転送および展開を行えるようになりました。
Microsoft Entra のゲスト アカウントで発生した認証の問題: 登録または課金のアカウントにアクセスする適切なアクセス許可を持っているにもかかわらず、次のいずれかのような認証エラーを受け取ることがあります。
- リソースへのアクセスが禁止されています
- 提供された資格情報で認証することができませんでした。 もう一度やり直してください。
これらのエラーは、ゲスト ユーザーとして追加された別の Microsoft Entra ドメインのユーザー アカウントを持っていることが原因の可能性があります。
ゲスト アカウントの場合: Cost Management Power BI コネクタを使用して接続するときに認証ダイアログが表示されるので、次の設定またはオプションを使います。
- [サインイン] を選びます
- [別のアカウントを使用する] (ダイアログの一番下) を選びます
- [サインイン オプション] (ダイアログ ボックスの下部) を選びます。
- [組織にサインイン] を選びます
- [ドメイン名] には、ゲストとして追加した Microsoft Entra ドメインの完全修飾ドメイン名 (FQDN) を指定します。
- 次に、[アカウントの選択] で、以前に認証したユーザー アカウントを選びます。
関連するコンテンツ
Power BI Desktop を使用すれば、さまざまな種類のデータ ソースに接続できます。 詳細については、次の記事を参照してください。