まとめ
| 項目 | 説明 |
|---|---|
| リリース状態 | 一般提供 |
| 製品 | Power BI (セマンティック モデル) Power BI (データフロー) ファブリック (データフロー Gen2) Power Apps (データフロー) Customer Insights (データフロー) |
| サポートされている認証の種類 | 組織アカウント サービス アカウント |
注
一部の機能は 1 つの製品に存在する可能性がありますが、展開スケジュールとホスト固有の機能のため、他の製品には存在しない場合があります。
注
2021 年 7 月より、Google は埋め込みブラウザ フレームワークからの Google アカウントへのサインインのサポートを中止しました。 この変更により、Google へのサインインをサポートするには、Power BI Desktop のバージョンを 2021 年 6 月以降に更新する必要があります。
注
2025 年 5 月以降、現在プレビューで利用可能な Google BigQuery コネクタの新しい実装が導入されました。 この機能の詳細を確認してください。
前提条件
Google BigQuery にサインインするには、Google アカウントまたは Google サービス アカウントが必要です。
サポートされている機能
- インポート
- DirectQuery (Power BI セマンティック モデル)
Power Query Desktop から Google BigQuery データへの接続
Power Query Desktop から Google BigQuery に接続するには、次の手順を実行します。
データの取得エクスペリエンスで [Google BigQuery] を選択します。 Power Query Desktop でのデータの取得エクスペリエンスは、アプリによって異なります。 アプリの Power Query Desktop データの取得エクスペリエンスの詳細については、「データを取得する場所」を参照してください。
詳細オプションを使用する場合は、[ 詳細オプション] を選択します。 そうでない場合は、[OK] を選択して続行します。 詳細については、「 詳細オプションを使用した接続」を参照してください。
Google BigQuery コネクタでは、組織アカウントまたはサービス アカウントによるサインインを使った接続がサポートされています。 この例では、組織アカウントを使用してサインインします。 [サインイン] を選んで続行します。
Google サービス アカウントを使ってサインインすることもできます。 この場合は、[Service Account Login]\(サービス アカウント ログイン\) を選択し、サービス アカウント メールとサービス アカウント JSON キー ファイル コンテンツを入力します。 次に、 [接続](Connect) を選択します。
[Google アカウントでサインイン] ダイアログが表示されます。 Google アカウントを選び、Power BI Desktop への接続を承認します。
サインインしたら、[接続] を選んで続行します。
正常に接続した後、[ナビゲーター] ウィンドウが表示され、サーバーで利用可能なデータが表示されます。 ナビゲーターでデータを選びます。 次に、[データの変換] を選んで Power Query のデータを変換するか、[読み込む] を選んで Power BI Desktop のデータを読み込みます。
Power Query Online から Google BigQuery データへの接続
Power Query Online から Google BigQuery に接続するには、次の手順を実行します。
データの取得エクスペリエンスで [Google BigQuery] オプションを選択します。 Power Query Online のデータの取得エクスペリエンスに到達する方法は、アプリによって異なります。 Power Query Online のデータの取得エクスペリエンスに到達する方法の詳細については、「データを取得する場所」を参照してください。
Google BigQuery データベースのダイアログで、新しい接続を作成するか、既存の接続を選択する必要がある場合があります。 サインインする組織またはサービス アカウントを選択します。 オンプレミスのデータを使用する場合は、オンプレミス データ ゲートウェイを選択します。 その後、サインイン を選択します。
[Google アカウントでサインイン] ダイアログが表示されます。 Google アカウントを選び、接続を承認します。
注
サインイン ダイアログ ボックスには、サインイン後も Power BI Desktop に進むと表示されますが、代わりにオンライン アプリに送信されます。
詳細オプションを使用したい場合は、[詳細オプション] を選択します。 詳細情報: 詳細オプションを使用して接続
サインインしたら、[次へ] を選んで続行します。
正常に接続した後、[ナビゲーター] ウィンドウが表示され、サーバーで利用可能なデータが表示されます。 ナビゲーターでデータを選びます。 次に、[次へ] を選択して Power Query のデータを変換します。
詳細オプションを使用して接続する
Power Query Desktop と Power Query Online のどちらにも、必要に応じてクエリに追加できる一連の詳細オプションが用意されています。
次の表に、Power Query Desktop と Power Query Online で設定できるすべての詳細オプションを示します。
| 詳細オプション | 説明 |
|---|---|
| 課金プロジェクト ID | Power Query がクエリを実行する対象のプロジェクト。 アクセス許可と課金は、このプロジェクトに関連付けられます。 課金プロジェクト ID が指定されていない場合、既定では、Google API によって返される最初の利用可能なプロジェクトが使用されます。 |
| Storage API の使用 | Google BigQuery の Storage API の使用を有効にするフラグ。 このオプションは既定で true に設定されています。 Storage API を使わず、代わりに REST API を使う場合は、このオプションを false に設定できます。 |
| 接続タイムアウト期間 | 接続が完了するまでに Power Query が待機する時間を制御する標準の接続設定 (秒単位)。 接続が 15 秒 (既定値) 以内に完了しない場合は、この値を変更できます。 |
| コマンド タイムアウト期間 | クエリが完了して結果が返されるまでに Power Query が待機する時間。 既定値は、ドライバーの既定値によって異なります。 別の値 (分単位) を入力して、より長く接続を開いたままにすることができます。 |
| プロジェクト ID | ネイティブ クエリを実行する対象のプロジェクトです。 |
| SQL ステートメント | 詳細については、「ネイティブ データベース クエリを使用してデータベースからデータをインポートする」を参照してください。 このバージョンのネイティブ データベース クエリ機能では、Database.Schema.Table という形式の完全修飾テーブル名を使用する必要があります (例: SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE)。 このオプションは Power Query Desktop でのみ使用できます。 |
必要とする詳細オプションを選択したら、Power Query デスクトップの [OK] または Power Query Online の [次へ] を選択して、Google BigQuery データに接続します。
新しい Google BigQuery コネクタの実装 (プレビュー)
2025 年 5 月以降、Google BigQuery コネクタの新しい実装を導入し、現在プレビュー段階で利用可能な Google BigQuery との統合を強化しました。 ODBC の代わりに Arrow Database Connectivity (ADBC) を使用して Google BigQuery に接続してデータを取得するため、特に大規模な結果セットのパフォーマンスが向上します。 引き続きこのコネクタに新しい機能を追加し、強化するため、最新バージョンにアップグレードして試し、 フィードバックをお寄せください。
注
この機能は、64 ビット バージョンの Power BI Desktop でサポートされており、32 ビット バージョンでは機能しません。
Power BI Desktop でこの機能にアクセスするには、 オプションと設定 ([ ファイル ] タブの下) >Options>Preview 機能に移動し、チェック ボックスをオンにして 新しい Google BigQuery コネクタ実装 オプションを有効にします。 オプションがオンになると、新しく作成されたすべての接続で、新しいコネクタの実装が自動的に使用されます。
既存の接続は変更されません。 この機能を試してみるには、次のようにクエリのImplementation="2.0"にGoogleBigQuery.Database フラグを追加します。 このプロパティは、使用しているコネクタのバージョンを区別します。
Dataflow Gen2 でこの機能にアクセスするには、Google BigQuery からのデータ取得を構成した後、上部のリボンの [詳細設定] エディターに移動し、次のようにクエリのImplementation="2.0"にGoogleBigQuery.Database フラグを追加して、この新しいコネクタを使用します。
Source = GoogleBigQuery.Database([Implementation = "2.0"])
注
オンプレミス データ ゲートウェイを使用する場合、サポートされる最小バージョンは 2025 年 5 月であることに注意してください。 最新バージョンを使用して、最新の機能でこの機能を評価することをお勧めします。
潜在的な問題の診断を支援するために、 Implementation を "2.0" として見つけ、Mashup ログに "ADBC" として DriverType することができます。
現時点では、このコネクタには次の既知の制限があります。
- リレーションシップはサポートされていません。
- プロキシはサポートされていません。
制限と考慮事項
ここでは、Google BigQuery コネクタの制限事項または考慮事項について説明します。
Power BI Desktop での Google BigQuery への接続
Power BI で Google BigQuery コネクタを使用する場合は、いくつかの制限と考慮事項に留意する必要があります。
コネクタの可用性
Google BigQuery コネクタは、Power BI Desktop および Power BI サービスで使用できます。 Power BI サービスでは、Power BI から Google BigQuery へのクラウド間接続を使用してコネクタにアクセスできます。
「アクセスが拒否されました」エラー
Power BI Desktop から Google BigQuery に接続しようとすると、次のエラー メッセージが表示される場合があります。
Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.
この場合、Power Query の [接続設定] の [請求プロジェクト] 詳細オプションに請求プロジェクト ID を入力する必要がある場合があります。
さらに、ゲートウェイを使用して Power BI サービスでレポートを作成する場合も、このエラーが発生する可能性があります。 この場合、Power Query エディターまたは Power Query 数式バーを使用して、接続の M コードに請求プロジェクト ID を手動で含める必要があります。 次に例を示します。
Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
単一クラウド接続のサポート
Google BigQuery は、複数のクラウド接続を構成するためのパラメーター フィールドがないため、複数のクラウド接続をサポートしていません。 その結果、使用できるクラウド接続は 1 つだけです。
入れ子になったフィールド
パフォーマンス上の考慮事項を最適化するために、Google BigQuery では非正規化、フラット化、入れ子になった場合の大規模なデータ セットがうまく処理されます。
Google BigQuery コネクタでは、入れ子になったフィールドがサポートされており、JSON 形式のテキスト列として読み込まれます。
ユーザーは [ データの変換 ] を選択し、Power Query エディターで JSON 解析機能を使用してデータを抽出する必要があります。
- [変換] リボン タブの [テキスト列] カテゴリで、[解析]、[JSON] の順に選択します。
- [列の展開] オプションを使って JSON レコード フィールドを抽出します。
Google サービス アカウントの設定
Google サービス アカウントの設定または使用の詳細については、Google ドキュメントの「サービス アカウント キーの作成と管理」を参照してください。
Google サービス アカウントを使用した認証
Power BI Desktop で Google サービス アカウントを介して認証する場合、コネクタで必要となる特定の資格情報の形式があります。
- サービス アカウントの電子メール: 電子メール形式である必要があります。
- サービス アカウント JSON キー ファイル コンテンツ: この JSON キーをダウンロードしたら、ファイルからすべての改行を削除して、コンテンツが 1 行に含まれるようにする必要があります。 JSON ファイルをそのような形式にしたら、このフィールドにコンテンツを貼り付けます。
Power BI サービスまたは Power Query Online で Google サービス アカウントを介して認証する場合、ユーザーは「基本」認証を使用する必要があります。 [ユーザー名] フィールドは上の [サービス アカウント メール] フィールドにマップされ、[パスワード] フィールドは上の [Service Account JSON key file contents](サービス アカウント JSON キー ファイル コンテンツ) フィールドにマップされます。 各資格情報の形式要件は、Power BI Desktop、Power BI サービス、Power Query Online の両方で同じです。
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 を無効にできます。
DirectQuery モードでは 日付Time 型データを使用できません
DateTime型が Direct Query でサポートされないという既知の問題があります。
DateTime型の列を選択すると、Invalid query エラーまたは視覚的エラーが発生します。
テーブル名と同じ名前の列のクエリに関する制限事項
テーブル名と同じ名前の列に対してクエリを実行すると、BigQuery は、指定された列ではなく、テーブル内のすべての列を含む struct としての列と解釈します。 たとえば、 SELECT debug FROM dataset.debug は、指定したデバッグ列ではなく、デバッグ テーブル内のすべての列を含む一つのstruct を返します。 通常、このビヘイビアーは直感的ではなく、フィックスプログラムが調査されています。 回避策は 3 つあります:
- 回避策 1: 列名と競合しないビューでテーブルをラップする—
CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug - 回避策 2: テーブル名と競合しないように列の名前を変更する—
ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug - 回避策 3: 競合列を参照するために table.column を使用するように選択クエリを変更する—
SELECT debug.debug FROM dataset.debug
具体化されたビューは、Power BI Desktop ナビゲーターではサポートされていません
既知の問題は、現在、Google BigQuery コネクタが Power BI Desktop ナビゲーターの具体化されたビューをサポートしていないということです。
- 回避策: ネイティブ クエリ SQL ステートメントを使用して、Google BigQuery から具体化されたビューをフェッチします。
HTTP エラー 403: quotaExceeded (クォータを超えました: ユーザーが project.lists の同時要求のクォータを超えました)
- project.lists API の Google 呼び出しの顧客アカウント使用量全体でクォータを超えています。 複数のレポートが同時に更新されると、異なるクエリまたはレポートでエラーがトリガーされる可能性があります。 エラーを回避するには、レポートの更新を時間差でスケジュールします。
- 課金プロジェクト ID -
GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])を含むようにクエリを更新します。 GoogleBigQuery.Databaseの呼び出しは、エラーを回避するために、スキーマとテーブルの選択と同じクエリに含まれている必要があります。
ADBC 使用時の ExecuteQueryInternalAsync エラー
一部のユーザーは、 Implementation="2.0" パスを使用して BigQuery に接続するときに問題が発生し、エラー Cannot execute <ExecuteQueryInternalAsync>b__2 after 5 triesを受け取ります。 この問題は、いくつかの要因が原因である可能性があります。
- 次のセクションで説明するアクセス許可の問題。
-
LargeResultDatasetが渡された場合、ドライバーは指定された名前で出力データセットの作成を試みます。 この作成には、正しいアクセス許可が必要です。 - データセットの作成時にリージョンが明示的に指定されていない場合、BigQuery API は既定で米国の複数リージョンに設定されます。 この動作は、コネクタまたはクライアントの構成ではなく、API 自体によって実行されます。
回避策のオプション
データセットの手動作成
予期しないリージョンの既定値を回避するには、 BigQuery コンソールを使用して目的のリージョンにデータセットを手動で作成します。
デスクトップ コネクタの構成
Power BI Desktop を使用していて、テーブル内でエラーが発生した場合:
- ファイル>オプションと設定に移動します>Options
- [ プレビュー機能] で、[ 新しい Google BigQuery コネクタの実装を使用する] オプションをオフにします。
このメッセージに、Last exception: ... を含む障害の追加詳細 ... が添付されている場合は、さらなる調査のために ケースを作成してください。
ADBC との接続に関するアクセス許可の問題
環境によっては、 Implementation="2.0"/ADBC を使用して接続するために追加のアクセス許可が必要になる場合があります。 これは、ADBC パスでは、ODBC とは異なる BigQuery API を使用してデータのクエリと読み込みを行うためです。 必要なアクセス許可は、ドライバーの GitHub リポジトリで概説されています。
ADBC を使用してパーティション分割されたモデルを更新できない
Google BigQuery コネクタの既知の問題は、パーティション分割されたセマンティック モデルが正しく更新されないことです。 これは、多くの場合、 Cannot execute <ReadChunkWithRetries>b__0 after 5 tries エラーと共に表示されます。 この問題に対する最近の修正プログラムが公開されており、2025 年 10 月にデプロイする必要があります。 このメッセージと、Last exception: ...を含む追加の詳細 (失敗の詳細は...) を受け取った場合は、調査を進めるためにケースを作成してください。
Google BigQuery コネクタに重点を置いた [データの取得] ダイアログのスクリーンショット。