Google Analytics
まとめ
項目 | 説明 |
---|---|
リリース状態 | 一般提供 |
製品 | Power BI (セマンティック モデル) Power BI (データフロー) ファブリック (データフロー Gen2) Power Apps (データフロー) Customer Insights (データフロー) |
サポートされている認証の種類 | Google アカウント |
関数リファレンス ドキュメント | GoogleAnalytics.Accounts |
Note
デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。
Note
2023 年 7 月より、Google は Google Analytics API の使用を廃止しました。 詳細については、Google の発表を参照してください。 Power Query Google Analytics コネクタは、Implementation = "1.0"
設定を使用して、現在非推奨になっている Google Universal Analytics API の V4 までの従来の Universal Analytics シナリオをサポートします。 このコネクタは、現在デフォルトになっている Implementation = "2.0"
設定を使用して、Google Analytics Data API の V1 を通じて Google Analytics 4 シナリオもサポートします。
Note
2021 年 7 月より、Google は埋め込みブラウザ フレームワークからの Google アカウントへのサインインのサポートを中止しました。 この変更により、Google へのサインインをサポートするには、Power BI Desktop のバージョンを 2021 年 6 月以降に更新する必要があります。
前提条件
Google アナリティクスにサインインするには、Google アナリティクス アカウント (ユーザー名/パスワード) が必要です。
サポートされる機能
- インポート
- Google Analytics 4 (Data API)
- Google ユニバーサル アナリティクス (非推奨)
Power Query Desktop から Google アナリティクス データへの接続
Google アナリティクス データに接続するには:
Power BI Desktop の ホーム リボンから データの取得 を選択します。 左側のカテゴリで [オンライン サービス] を選んでから、[Google アナリティクス] を選びます。 次に、 [接続](Connect) を選択します。
今回初めて Google アナリティクス コネクタを使用してデータを取得する場合は、サードパーティの通知が表示されます。 このメッセージが再び表示されないようにする場合は、[Don't warn me again with this connector]\(今後、このコネクタで警告を表示しない\) を選びます。 その後 [続行] を選択します。
従来の「ユニバーサル アナリティクス」API を介して Google アナリティクス データに接続するには、実装 1.0 を選択します。 Google Analytics 4 をサポートする新しい Google Analytics Data API を介して Google Analytics データに接続するには、実装 2.0 (ベータ) を選択します。
Google アナリティクス アカウントにサインインするには、[サインイン] を選びます。
表示される [Google アカウントでサインイン] ウィンドウで、Google アナリティクス アカウントへのサインイン資格情報を指定します。 メール アドレスまたは電話番号を指定できます。 [次へ] を選択します。
Google アナリティクスのパスワードを入力し、[次へ] を選びます。
Power BI Desktop が Google アカウントにアクセスできるようにするかどうかを確認するメッセージが表示されたら、[許可] を選びます。
正常にサインインしたら、[接続] を選びます。
接続が確立されると、自分がアクセス権を持つアカウントの一覧が表示されます。 アカウント、プロパティ、ビューをドリル スルーして、表示フォルダーに分類された値の選択を確認します。
選択したテーブルを読み込むと、テーブル全体が Power BI Desktop に取り込まれます。または、[データの変換] を選択してクエリを編集し、Power Query エディターを開くことができます。 次に、使用するデータ セットをフィルター処理して絞り込んでから、その絞り込んだデータ セットを Power BI Desktop に読み込みます。
Power Query Online から Google アナリティクス データへの接続
Google アナリティクス データに接続するには:
[Power Query - データ ソースの選択] ページで [Google アナリティクス] を選びます。
接続ページで、接続名を入力し、必要に応じてオンプレミス データ ゲートウェイを選びます。
[サインイン] を選んで Google アカウントにサインインします。
表示される [Google アカウントでサインイン] ウィンドウで、Google アナリティクス アカウントへのサインイン資格情報を指定します。 メール アドレスまたは電話番号を指定できます。 [次へ] を選択します。
Note
現在、Google アナリティクスのサインイン ダイアログ ボックスには、Power Query Desktop にサインインしていることが示されています。 この表現は将来変更される予定です。
Google アナリティクスのパスワードを入力し、[次へ] を選びます。
Power BI Desktop が Google アカウントにアクセスできるようにするかどうかを確認するメッセージが表示されたら、[許可] を選びます。
正常にサインインしたら、[次へ] を選びます。
接続が確立されると、自分がアクセス権を持つアカウントの一覧が表示されます。 アカウント、プロパティ、ビューをドリル スルーして、表示フォルダーに分類された値の選択を確認します。
[データの変換] を選んで、Power Query エディターでクエリを編集します。 次に、使用するデータ セットをフィルター処理して絞り込んでから、その絞り込んだデータ セットを Power Apps に読み込みます。
制限事項と問題
Google Analytics データへのアクセスに関連する次の制限事項と問題点に注意する必要があります。
Power BI の Google アナリティクス クォータ制限
Google アナリティクスの AP 要求の標準的な制限とクォータについては、「API リクエストの制限と割り当て」をご覧ください。 ただし、Power BI Desktop および Power BI サービスでは、次の拡張されたクエリ数を使用できます。
- 1 日あたりのクエリ数: 1,500,000
- 100 秒あたりのクエリ数: 4,000
トラブルシューティング
予期しないデータの検証
日付範囲がとても大きい場合、Google アナリティクスは値のサブセットのみを返します。 このセクションで説明しているプロセスを使用して、取得する日付を把握し、それらを手動で編集することができます。 さらに多くのデータが必要な場合は、日付範囲が異なる複数のクエリを追加できます。 表示されるはずのデータが返されるかどうかが不明な場合は、データ プロファイリングを使用して、返される内容を簡単に確認することもできます。
表示されているデータが Google アナリティクスから取得したものと同じであることを確認するには、Google の対話型ツールでクエリを自分で実行します。 Power Query がどのデータを取得しているかを把握するには、クエリ診断を使用して、どのクエリ パラメーターが Google アナリティクスに送信されているかを確認できます。
クエリ診断の手順に従って、[追加したアイテム] に対して [ステップを診断する] を実行すると、生成された結果が診断の [Data Source Query]\(データ ソース クエリ\) 列に表示されます。 これは、Google アナリティクスへの最初の接続上で、できるだけ少ない追加操作で実行することをお勧めします。それにより、Google アナリティクスから取得しているデータではなく Power Query 変換のデータが失われることのないようにすることができます。
クエリによっては、Google アナリティクスに対して生成された API 呼び出しを含む行が同じ場所に存在していない可能性があります。 しかし、単純な Google アナリティクス専用クエリの場合は、その列にコンテンツが含まれている最後の行として表示されるのが一般的です。
[Data Source Query]\(データ ソース クエリ\) 列に、次のパターンのレコードが表示されます。
Request:
GET https://www.googleapis.com/analytics/v3/data/ga?ids=ga:<GA Id>&metrics=ga:users&dimensions=ga:source&start-date=2009-03-12&end-date=2020-08-11&start-index=1&max-results=1000"aUser=<User>%40gmail.com HTTP/1.1
<Content placeholder>
Response:
HTTP/1.1 200 OK
Content-Length: -1
<Content placeholder>
このレコードから、分析ビュー (プロファイル) ID、メトリックの一覧 (この例では、ga:users
のみ)、ディメンションの一覧 (この場合は参照ソース)、start-date と end-date、start-index、max-results (既定では、エディターに対して 1000 に設定)、quotaUser があることがわかります。
これらの値を Google アナリティクスの Query Explorer にコピーして、クエリから返されたものと同じデータが API によっても返されていることを検証できます。
エラーが日付範囲に関するものである場合は、簡単に修正できます。 詳細エディターに移動します。 次のような M クエリが作成されます (少なくとも、その上に他の変換がある可能性があります)。
let
Source = GoogleAnalytics.Accounts(),
#"<ID>" = Source{[Id="<ID>"]}[Data],
#"UA-<ID>-1" = #"<ID>"{[Id="UA-<ID>-1"]}[Data],
#"<View ID>" = #"UA-<ID>-1"{[Id="<View ID>"]}[Data],
#"Added Items" = Cube.Transform(#"<View ID>",
{
{Cube.AddAndExpandDimensionColumn, "ga:source", {"ga:source"}, {"Source"}},
{Cube.AddMeasureColumn, "Users", "ga:users"}
})
in
#"Added Items"
2 つのいずれかを行うことができます。 [日付] 列がある場合は、日付に基づいてフィルター処理できます。 これは、より簡単なオプションです。 日付で分割されることが気にならない場合は、後でグループ化することができます。
[日付] 列がない場合は、詳細エディターでクエリを手動で操作して、それを追加し、フィルター処理することができます。 次に例を示します。
let
Source = GoogleAnalytics.Accounts(),
#"<ID>" = Source{[Id="<ID>"]}[Data],
#"UA-<ID>-1" = #"<ID>"{[Id="UA-<ID>-1"]}[Data],
#"<View ID>" = #"UA-<ID>-1"{[Id="<View ID>"]}[Data],
#"Added Items" = Cube.Transform(#"<View ID>",
{
{Cube.AddAndExpandDimensionColumn, "ga:date", {"ga:date"}, {"Date"}},
{Cube.AddAndExpandDimensionColumn, "ga:source", {"ga:source"}, {"Source"}},
{Cube.AddMeasureColumn, "Organic Searches", "ga:organicSearches"}
}),
#"Filtered Rows" = Table.SelectRows(#"Added Items", each [Date] >= #date(2019, 9, 1) and [Date] <= #date(2019, 9, 30))
in
#"Filtered Rows"