まとめ
項目 | 説明 |
---|---|
リリース状態 | 一般提供 |
製品 | 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 では非正規化、フラット化、入れ子になった場合の大規模なデータ セットがうまく処理されます。
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
の呼び出しは、エラーを回避するために、スキーマとテーブルの選択と同じクエリに含まれている必要があります。