Google の BigQuery は、低料金でペタバイトの規模に対応するフルマネージド型分析データ ウェアハウスです。Looker Studio の BigQuery コネクタを使用すると、Looker Studio から BigQuery テーブルのデータにアクセスできます。
この記事の内容:始める前に
Looker Studio で BigQuery データにアクセスするには、Google Cloud 請求先アカウントを指定する必要があります。BigQuery は有料サービスであり、Looker Studio を使用して BigQuery にアクセスすると、BigQuery の利用料金が発生する場合があります。詳しくは、BigQuery の料金をご覧ください。
BigQuery に接続する方法
Looker Studio は、Google BigQuery のテーブル、ビュー、カスタムクエリに接続できます。
接続を行うための手順
- Looker Studio にログインします。
- [作成] をクリックして、[レポート] を選択します。
- レポート エディタが表示され、[データのレポートへの追加] パネルが開きます。
- 新しい埋め込みデータソースを作成するには、BigQuery コネクタを選択します。
-
再利用可能な既存のデータソースを選択するには、[マイ データソース] タブをクリックし、以前に作成した任意のデータソースまたは共有されているデータソースを選択します。
埋め込みデータソースと再利用可能なデータソースの比較
データソースは、埋め込みデータソースか再利用可能なデータソースのいずれかになります。レポートには、埋め込みデータソースと再利用可能なデータソースの両方を使用できます。
レポートの編集中に作成したデータソースは、レポート内に埋め込まれます。埋め込みデータソースを編集するには、そのレポート内で編集する必要があります。埋め込みデータソースを使用すると、レポートとデータソースの共同編集がよりスムーズに行えるようになります。レポートを編集できるユーザーであれば、データソースの編集と接続の変更も可能です。レポートを共有またはコピーした場合、埋め込みデータソースも共有またはコピーされます。
ホームページから作成するデータソースは再利用できます。これらのデータソースはさまざまなレポートで再利用でき、再利用可能なデータソースを使用すれば、組織全体で一貫したデータモデルを作成して共有できます。データソースを編集できるのは再利用可能なデータソースを共有されたユーザーのみです。接続を変更できるのはデータソースの認証情報のオーナーのみです。
詳しくは、データソースについてをご覧ください。
-
-
データソースと BigQuery データの間の接続を構成します。BigQuery のテーブルまたはビューに接続することも、カスタム SQL クエリを使用して接続することもできます。
- [追加] をクリックします。
しばらくすると、データソースに接続されたテーブルがレポートのキャンバスに表示されます。
Looker Studio を初めてご利用の場合
プロパティ パネルを使用して、テーブルのデータとスタイルを変更します。ツールバーを使用して、レポートにグラフやコントロールなどのコンポーネントを追加することも可能です。
Looker Studio について詳しくは
- チュートリアル: 新しいレポートを作成するをご覧ください。
- レポートを作成、編集するをご覧ください。
BigQuery のテーブルまたはビューに接続する
BigQuery テーブルでは、個々のレコードが行の形式にまとめられています。各レコードは列(フィールドとも呼ばれる)で構成されています。BigQuery ビューは、SQL クエリ(BigQuery コンソールで実行)によって定義される仮想テーブルです。
テーブルまたはビューに接続するには、次の情報を指定する必要があります。
- BigQuery プロジェクト
- データセット
- テーブルまたはビュー
プロジェクト
プロジェクトでは BigQuery リソースが整理され、レポートが BigQuery の無料割り当てを超過した場合、課金に必要な情報が提供されます。課金とデータ管理の両方に同じプロジェクトを使用したり、1 つのプロジェクトをデータ用に使用し、別のプロジェクトで課金を行ったりすることもできます。詳しくは、Google Cloud プロジェクトをご覧ください。
次のいずれかのオプションを選択して、プロジェクトを選択します。
- 最近のプロジェクト
- マイ プロジェクト
- 共有プロジェクト
最近のプロジェクト
[最近のプロジェクト] オプションを使用すると、Google Cloud コンソールで最近アクセスしたプロジェクトが表示されます。プロジェクト ID を手動で入力することもできます。選択したプロジェクトは、課金とデータアクセスの両方に使用されます。プロジェクトを選択したら、データセットを選択します。
マイ プロジェクト
[マイ プロジェクト] オプションを使用すると、アクセス権があるプロジェクトを選択できます。プロジェクト ID を手動で入力することもできます。選択したプロジェクトは、課金とデータアクセスの両方に使用されます。プロジェクトを選択したら、データセットを選択します。
共有プロジェクト
[共有プロジェクト] オプションを使用すると、共有されているプロジェクトにアクセスできます。必要に応じて、データと課金に異なるプロジェクトを選択できます。
データセット
データセットは、データの整理とデータアクセスの制御に使用されます。リストからデータセットを選択するか、データセットを名前で検索します。
公開データセット
BigQuery の一般公開データセットは公開サンプルです。データセットは共有されますが、プロジェクトは共有されません。このデータに対してクエリを実行するには、独自の課金プロジェクトを指定する必要があります。ここで選択したプロジェクトが、共有データにおける処理費用の請求に使用されます。
テーブル
Looker Studio のデータソースは、単一のテーブルまたはビューに接続できます。
日付パーティション分割テーブルに接続する
Looker Studio では、BigQuery の日付パーティション分割テーブルを利用できます。DATE
、DATETIME
、または TIMESTAMP
フィールドでパーティション分割されたテーブルに接続すると、このデータソースに基づくグラフの期間ディメンションとしてそのフィールドを使用できます。このオプションを有効にするには、データソース接続ページの [設定] 列にある [(フィールド名)を期間ディメンションとして使用] チェックボックスをオンにします。
詳しくは、BigQuery の日付パーティション分割テーブルに関する説明をご覧ください。
カスタム SQL クエリを使用して BigQuery に接続する
[カスタムクエリ] オプションを使用すると、SQL を記述してデータに接続できます。カスタムクエリの構文は、標準 SQL 言語に準拠している必要があります。レガシーの BigQuery SQL 言語を使用する場合は、[レガシー SQL を使用する] オプションを選択します。
ヒント: BigQuery ユーザー インターフェースを使用してクエリを作成し、テストしてから、そのクエリをコピーして Looker Studio のカスタムクエリ ボックスに貼り付けます。
課金プロジェクト
[課金プロジェクト] オプションを使用すると、プロジェクト ID を検索するか手動で入力することで、カスタムクエリの課金プロジェクトを指定できます。組織に多くの BigQuery プロジェクトがある場合は、手動入力でプロジェクトを探す必要があります。
あるプロジェクトを請求に使用し、別のプロジェクトをデータに使用するには、ユーザー インターフェースで課金プロジェクトを選択または入力して、カスタムクエリの SELECT...FROM
句でデータ プロジェクトを指定します。
クエリ パラメータ
パラメータを使用すると、よりレスポンシブでカスタマイズ可能なレポートを作成できます。BigQuery データソースのパラメータは、基になるクエリに戻すことができます。カスタムクエリでパラメータを使用するには、BigQuery でのパラメータ化されたクエリの実行に関する構文ガイドラインをご覧ください。
詳しくは、カスタムクエリでパラメータを使用するをご覧ください。
カスタムクエリの制限事項
Looker Studio では、データベースに対するクエリが生成されるたびに、カスタム SQL が内部 SELECT ステートメントとして使用されます。つまり、カスタムクエリで新しい仮想テーブルが生成され、Looker Studio は独自に生成した「外部」SQL を使用してそのテーブルをクエリします。そのため、Looker Studio のカスタムクエリにはいくつかの制限が適用されます。
カスタム SQL クエリに含めることができるステートメントは 1 つのみ
たとえば以下は、複数の SQL ステートメントが含まれるため機能しません。
DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;
SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;
結合では明確なフィールド名を使用する
カスタム結合クエリは、重複する列名を処理できません。重複するフィールドを含むカスタムクエリに基づくデータソースを使用しているグラフには、次のようなユーザー設定エラーが表示されます。
この問題を回避するため、カスタムクエリでは明確なフィールド名を使用するようにしてください。
たとえば、同じスキーマを持つ 2 つのテーブルを、両方のテーブルに存在する Criteria_ID
フィールドで結合するとします。
SELECT * FROM ( SELECT Criteria_ID, Parent_ID, Name FROM 'table_1' ) As table_1 LEFT JOIN ( SELECT Criteria_ID, Parent_ID, Name FROM 'table_2' ) As table_2 ON table_1.Criteria_ID = table_2.Criteria_ID
このクエリでは以下の列名が重複しています。
Criteria_ID
、Parent_ID
、Name
。
「フィールドが不明確」というエラーを回避するには、AS
を使用して重複するフィールドの名前を明示的に変更します。
SELECT * FROM ( SELECT Criteria_ID AS Criteria_ID_1, Parent_ID AS Parent_ID_1, Name AS NAME_1 FROM 'table_1' ) AS table_1 LEFT JOIN ( SELECT Criteria_ID AS Criteria_ID_2, Parent_ID AS Parent_ID_2, Name AS NAME_2 FROM 'table_2' ) AS table_2 ON table_1.Criteria_ID_1 = table_2.Criteria_ID_2;
名前を変更する必要があるフィールドが数個だけの場合は、名前を変更するフィールドを除くすべてのフィールドを選択することもできます。次に例を示します。
クエリのタイムアウト
- 実行速度を上げるために、クエリを簡素化します。
- データベースでクエリを実行し、結果を別のテーブルに保存してからデータソース内のそのテーブルに接続します。
BigQuery とのネイティブな統合
Looker Studio に BigQuery をネイティブに統合することで、Looker Studio クエリ向けの新しいモニタリング機能が利用可能になります。それにより、クエリのパフォーマンスが向上し、BigQuery の多くの機能がサポートされるようになります。
複数日のテーブル
BigQuery は、複数のテーブルにまたがるクエリ実行をサポートしており、各テーブルは 1 日のデータを保持しています。テーブルの形式は YYYYMMDD です。Looker Studio が YYYYMMDD 形式のテーブルを見つけると、複数日のテーブルとしてマークされ、「prefix_YYYYMMDD」という名前のみがそのテーブルに表示されます。
グラフを作成してこのテーブルを可視化すると、デフォルトの期間である過去 28 日間のデータが自動的に生成され、過去 28 日間のテーブルに対するクエリが適切に実行されます。この設定を行うには、レポートを編集モードに切り替えてグラフを選択し、[データ] タブで [期間] プロパティを調整します。
BigQuery に発行された SQL を表示する
Looker Studio によって生成されたすべての BigQuery SQL は、BigQuery のクエリ履歴画面で確認できます。
レコード数指標
BigQuery データソースでは、レコード数指標が自動的に表示されます。この指標を使用することで、ディメンションを分割し、レコード数をグラフごとに集計して表示することができます。
VPC Service Controls のサポート
Looker Studio は、閲覧者の IP ベースのアクセスレベルを使用して、VPC Service Controls(VPC-SC)境界で保護された BigQuery プロジェクトに接続できます。BigQuery コネクタはレポート閲覧者の IP アドレスを BigQuery に渡します。これにより、セットアップされている IP ベースのアクセスレベルを適用できます。
BigQuery の GEOGRAPHY ポリゴンを可視化する
レポートで Google マップの可視化を使用して、GEOGRAPHY ポリゴンを表示できます。チュートリアルについては、Looker Studio を使用して BigQuery GEOGRAPHY ポリゴンを可視化するをご覧ください。
ジョブラベルで Looker Studio のクエリを特定する
Looker Studio から BigQuery に送信されるクエリには、すべて BigQuery のジョブラベル requestor:looker_studio
が付いています。このジョブラベルを使用すると、Looker Studio に関連する BigQuery のクエリを特定できます。手順は、ジョブラベルの表示でご確認ください。
BigQuery データソースのオーナーは、「BigQuery を活用」アイコンをクリックしてジョブの詳細を確認することもできます。
クエリのパフォーマンスに関するダイアログ
BigQuery を使用するグラフの右上にある稲妻形のアイコンをクリックすると、[クエリのパフォーマンス] ダイアログが開きます。このダイアログには、BigQuery ジョブ ID と、BigQuery ジョブの詳細ページへのリンクが表示されます。
また、次のいずれかのステータス メッセージも表示されます。
- このクエリは BigQuery キャッシュから取得したものです。
- このクエリは BI Engine によって高速化されています。
- このクエリは BigQuery BI Engine によって高速化されていません。
- この場合、クエリの高速化に必要な、不足している要素もダイアログに表示されます。
割り当てと一般的な上限
BigQuery コネクタを使用して返すことができる最大行数は 200 万行です。Looker Studio では、200 万行を超えるデータがある場合は表示されますが、行数は明示されません。
また、BigQuery データソースには、BigQuery 自体と同じレート制限と割り当て制限が適用されます。
BigQuery データソースの場合、MEDIAN
は BigQuery の APPROX_QUANTILES 関数を使用して実装されます。BigQuery からのデータに MEDIAN
を適用すると、同じデータでも他の種類のデータソースからのデータに MEDIAN
を適用した場合とは若干異なる結果が返されることがあります。