Google BigQuery

まとめ

Item 説明
リリース状態 一般公開
製品 Power BI (データセット)
Power BI (データフロー)
Power Apps (データフロー)
Customer Insights (データフロー)
サポートされている認証の種類 組織アカウント
サービス アカウント

注意

デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。

注意

2021 年 7月、Google は、埋め込みブラウザー フレームワークから Google アカウントへのサインインのサポートを停止します。 この変更により、Google へのサインインをサポートするには、Power BI Desktop を 2021 年 6 月のバージョンに更新する必要があります。

前提条件

Google BigQuery にサインインするには、Google アカウントまたは Google サービス アカウントが必要です。

サポートされる機能

  • [インポート]
  • DirectQuery (Power BI Desktop のみ)

Power Query Desktop から Google BigQuery データへの接続

Power Query Desktop から Google BigQuery に接続するには、次の手順を実行します。

  1. [データを取得] エクスペリエンスで、 [Google BigQuery] を検索して選びます。

    Google BigQuery からデータを取得します。

  2. 詳細オプションを使用したい場合は、 [詳細オプション] を選択します。 そうでない場合は、 [OK] を選択して続行します。 詳細情報: 「詳細設定オプションを使用して接続する

    最初のダイアログ ボックスと [詳細設定] オプションの選択が表示されている画像

  3. Google BigQuery コネクタでは、組織アカウントまたはサービス アカウントによるサインインを使った接続がサポートされています。 この例では、組織アカウントを使ってサインインします。 [サインイン] を選んで続行します。

    Google BigQuery にサインインします。

    Google サービス アカウントを使ってサインインすることもできます。 この場合は、 [Service Account Login](サービス アカウント ログイン) を選択し、サービス アカウント メールとサービス アカウント JSON キー ファイル コンテンツを入力します。 次に、 [接続](Connect) を選択します。

  4. [Google アカウントでサインイン] ダイアログが表示されます。 Google アカウントを選び、Power BI Desktop への接続を承認します。

    Google にサインインします。

  5. サインインしたら、 [接続] を選んで続行します。

    Google BigQuery データに接続します。

  6. 正常に接続した後、 [ナビゲーター] ウィンドウが表示され、サーバーで利用可能なデータが表示されます。 ナビゲーターでデータを選びます。 次に、 [データの変換] を選んで Power Query のデータを変換するか、 [読み込む] を選んで Power BI Desktop のデータを読み込みます。

    Google BigQuery データをデスクトップ アプリに読み込んでいる Power Query ナビゲーターの画像。

Power Query Online から Google BigQuery データへの接続

Power Query Online から Google BigQuery に接続するには、次の手順を実行します。

  1. [データの取得] エクスペリエンスで、 [データベース] カテゴリを選択し、 [Google BigQuery] を選択します。

    [データの取得] ダイアログ ボックスの画像。[データベース] コネクタ カテゴリと Google BigQuery コネクタが強調されています。

  2. [Google BigQuery] データベース のダイアログで、新しい接続を作成するか、既存の接続を選択する必要がある場合があります。 オンプレミスのデータを使用する場合は、オンプレミス データ ゲートウェイを選択します。 その後、 [サインイン] を選択します。

    [サインイン] ダイアログ ボックスの画像。

  3. [Google アカウントでサインイン] ダイアログが表示されます。 Google アカウントを選び、接続を承認します。

    注意

    [サインイン] ダイアログ ボックスには、サインインした後も引き続き Power BI Desktop に留まると表示されますが、実際はオンライン アプリに転送されます。

    Google サインイン ダイアログの画像。

  4. 詳細オプションを使用したい場合は、 [詳細オプション] を選択します。 詳細情報: 「詳細設定オプションを使用して接続する

  5. サインインしたら、 [次へ] を選んで続行します。

    正常にサインインしたユーザーの画像。

  6. 正常に接続した後、 [ナビゲーター] ウィンドウが表示され、サーバーで利用可能なデータが表示されます。 ナビゲーターでデータを選びます。 次に、 [次へ] を選択して Power Query のデータを変換します。

    Google BigQuery データをオンライン アプリに読み込んでいる Power Query ナビゲーターの画像。

詳細オプションを使って接続する

Power Query Desktop と Power Query Online のどちらにも、必要に応じてクエリに追加できる一連の詳細オプションが用意されています。

Power Query Desktop で使用できる詳細オプションの表示。

次の表に、Power Query Desktop と Power Query Online で設定できるすべての詳細オプションを示します。

詳細オプション 説明
課金プロジェクト ID Power Query がクエリを実行する対象のプロジェクト。 アクセス許可と課金は、このプロジェクトに関連付けられます。
Storage API の使用 Google BigQuery の Storage API の使用を有効にするフラグ。 このオプションは既定で true に設定されています。 Storage API を使わず、代わりに REST API を使う場合は、このオプションを false に設定できます。
接続タイムアウト期間 接続が完了するまでに Power Query が待機する時間を制御する標準の接続設定 (秒単位)。 接続が 15 秒 (既定値) 以内に完了しない場合は、この値を変更できます。
コマンド タイムアウト期間 クエリが完了して結果が返されるまでに Power Query が待機する時間。 既定値は、ドライバーの既定値によって異なります。 別の値 (分単位) を入力して、より長く接続を開いたままにすることができます。
プロジェクト ID ネイティブ クエリを実行する対象のプロジェクトです。 このオプションは Power Query Desktop でのみ使用できます。
SQL ステートメント 詳細については、「ネイティブ データベース クエリを使用してデータベースからデータをインポートする」を参照してください。 このバージョンのネイティブ データベース クエリ機能では、Database.Schema.Table という形式の完全修飾テーブル名を使用する必要があります (例: SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE)。 このオプションは Power Query Desktop でのみ使用できます。

必要とする詳細オプションを選択したら、Power Query デスクトップの [OK] または Power Query Online の [次へ] を選択して、Google BigQuery データに接続します。

制限と考慮事項

ここでは、Google BigQuery コネクタの制限事項または考慮事項について説明します。

Power BI Desktop で Google Big Query に接続する

Google Big Query に接続する際の制限事項と考慮事項の詳細については、「考慮事項と制限事項」を参照してください。

入れ子になったフィールド

パフォーマンス上の考慮事項を最適化するために、Google BigQuery では非正規化、フラット化、入れ子になった場合の大規模なデータセットがうまく処理されます。

Google BigQuery コネクタでは、入れ子になったフィールドがサポートされており、JSON 形式のテキスト列として読み込まれます。

Google BigQuery の入れ子になったフィールドのサポート。

ユーザーは [データの変換] を選択した後、Power Query エディターの JSON 解析機能を使用してデータを抽出する必要があります。

  1. [変換] リボン タブの [テキスト列] カテゴリで、 [解析][JSON] の順に選択します。
  2. [列の展開] オプションを使って JSON レコード フィールドを抽出します。

Google サービス アカウントの設定

Google サービス アカウントの設定または使用の詳細については、Google ドキュメントの「サービス アカウント キーの作成と管理」を参照してください。

Google サービス アカウントを使用した認証

Power BI Desktop で Google サービス アカウントを使用して認証する場合、コネクタによって特定の資格情報の形式が要求されます。

  • サービス アカウント メール: メール形式である必要があります
  • サービス アカウント JSON キー ファイル コンテンツ: この JSON キーをダウンロードしたら、ファイルからすべての改行を削除して、コンテンツが 1 行に含まれるようにする必要があります。 JSON ファイルをそのような形式にしたら、このフィールドにコンテンツを貼り付けます。

Power BI サービスで Google サービス アカウントを使って認証する場合、ユーザーは "基本" 認証を使う必要があります。 [ユーザー名] フィールドは上の [サービス アカウント メール] フィールドにマップされ、 [パスワード] フィールドは上の [Service Account JSON key file contents](サービス アカウント JSON キー ファイル コンテンツ) フィールドにマップされます。 各資格情報の形式要件は、Power BI Desktop と Power BI サービスのどちらでも同じです。

Google BigQuery Storage API を使用して認証できない

Google BigQuery コネクタでは、既定で Google BigQuery Storage API が使用されます。 この機能は、UseStorageApi という詳細オプションによって制御されます。 きめ細かいアクセス許可を使用すると、この機能に問題が発生する場合があります。 このシナリオでは、次のエラー メッセージが表示されたり、クエリからデータを取得できなかったりする可能性があります。

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions

この問題を解決するには、BigQuery Storage API のユーザー アクセス許可を適切に調整します。 BigQueryStorage API を使ってデータに正しくアクセスするには、次のストレージ API アクセス許可が必要です。

  • bigquery.readsessions.create: BigQuery Storage API を介して新しい読み取りセッションを作成します。
  • bigquery.readsessions.getData: BigQuery Storage API を介して読み取りセッションからデータを読み取ります。
  • bigquery.readsessions.update: BigQuery Storage API を介して読み取りセッションを更新します。

通常、これらのアクセス許可は BigQuery.User ロールで提供されます。 詳細については、Google BigQuery の事前定義ロールとアクセス許可に関するページを参照してください

上記の手順で問題が解決しない場合は、BigQuery Storage API を無効にできます。