BigQuery でデータ分析情報を生成する

データ分析情報を使用すると、データを自動的に探索、理解、キュレートできます。Gemini は、データ分析情報を使用して、テーブルのメタデータに基づいて自然言語の質問と、それらに対する回答となる SQL クエリを生成します。これらの分析情報は、パターンの検出、データ品質の評価、統計分析に役立ちます。

データ分析情報を使用して、テーブルのメタデータに基づいてテーブルと列の説明を生成することもできます(プレビュー)。この機能を使用すると、有意義な分析のためにデータを文書化し、データセットの検出可能性を高めることができます。

このページでは、データ分析情報の主な機能と、有益なデータ探索のためのクエリ生成を自動化するプロセスについて説明します。

始める前に

データ分析情報は Gemini in BigQuery を使用して生成されます。分析情報の生成を開始するには、まず Gemini in BigQuery を設定する必要があります。

必要なロール

データ分析情報を作成、管理、取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

生成された分析情報への読み取り専用アクセス権を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。分析情報を生成するために必要な正確な権限については、「必要な権限」セクションを開いてください。

必要な権限

  • bigquery.jobs.create
  • bigquery.tables.get
  • bigquery.tables.getData
  • dataplex.datascans.create
  • dataplex.datascans.get
  • dataplex.datascans.getData
  • dataplex.datascans.run

API を有効にする

データ分析情報を使用するには、プロジェクトで次の API を有効にします。

Gemini for Google Cloud API の有効化の詳細については、 Google Cloud プロジェクトで Gemini for Google Cloud API を有効にするをご覧ください。

データ分析情報について

データ アナリストは、新しい不慣れなテーブルを探索するときに、コールド スタートの問題に直面することがよくあります。多くの場合、この問題には、データ構造、キーパターン、データ内の関連する分析情報に関する不確実性が伴い、クエリの作成を開始するのが困難になります。

データ分析情報は、テーブルのメタデータに基づいて自然言語クエリとそれに対応する SQL の要素を自動的に生成することで、コールド スタートの問題に対処します。空のクエリエディタから始めるのではなく、有益な分析情報を提供する意味のあるクエリを使用して、データ探索をすばやく開始できます。詳しく調査するには、データ キャンバスでフォローアップの質問をします。

分析情報の実行例

次のメタデータを持つ telco_churn というテーブルについて考えてみましょう。

フィールド名 タイプ
顧客 ID STRING
性別 STRING
加入期間 INT64
InternetService STRING
StreamingTV STRING
OnlineBackup STRING
契約 STRING
テクニカル サポート STRING
支払い方法 STRING
月額料金 FLOAT
チャーン BOOLEAN

データ分析情報によってこのテーブルに対して生成されるクエリのサンプルを次に示します。

  • すべてのプレミアム サービスを定期購入していて、50 か月以上定期購入している顧客を特定します。

    SELECT
      CustomerID,
      Contract,
      Tenure
    FROM
      agentville_datasets.telco_churn
    WHERE
      OnlineBackup = 'Yes'
      AND TechSupport = 'Yes'
      AND StreamingTV = 'Yes'
      AND Tenure > 50;
    
  • 解約した顧客が最も多いインターネット サービスを特定します。

    SELECT
      InternetService,
      COUNT(DISTINCT CustomerID) AS total_customers
    FROM
      agentville_datasets.telco_churn
    WHERE
      Churn = TRUE
    GROUP BY
      InternetService
    ORDER BY
      total_customers DESC
    LIMIT 1;
    
  • 価値の高い顧客のセグメント別解約率を特定します。

    SELECT
      Contract,
      InternetService,
      Gender,
      PaymentMethod,
      COUNT(DISTINCT CustomerID) AS total_customers,
      SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) AS churned_customers,
      (SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) / COUNT(DISTINCT CustomerID))
      * 100 AS churn_rate
    FROM
      agentville_datasets.telco_churn
    WHERE
      MonthlyCharges > 100
    GROUP BY
      Contract,
      InternetService,
      Gender,
      PaymentMethod;
    

生成された分析情報を改善するためのベスト プラクティス

生成される分析情報の精度を高めるには、次のおすすめの方法を参考にしてください。

分析情報をデータ プロファイリングの結果に反映する

生成 AI において、グラウンディングとは、モデルの出力を検証可能な情報源に紐付ける仕組みを指します。生成された分析情報をデータ プロファイリングの結果に関連付けることができます。データ プロファイリングは、BigQuery テーブル内の列を分析し、一般的なデータ値やデータの分散などの一般的な統計特性を特定します。テーブルのデータ プロファイリング スキャンを作成するときに、スキャン結果を Google Cloud コンソールの BigQuery ページと Dataplex Universal Catalog ページに公開できます。BigQuery は、データ プロファイリングの結果を使用して、次の方法でより正確で関連性の高いクエリを作成します。

  1. データ プロファイリングの結果を分析して、データ内の興味深いパターン、傾向、外れ値を特定します。
  2. これらのパターン、傾向、外れ値に注目するクエリを生成して、分析情報を発見します。
  3. 生成されたクエリをデータ プロファイリングの結果と照らし合わせて検証し、クエリが有意義な結果を返すようにします。

データ プロファイリング スキャンがないと、次のようになります。

  • Gemini が生成するクエリに不正確な句が含まれる可能性や、意味のない結果が生成される可能性が高くなります。
  • Gemini が生成する列の説明は、列名のみに基づいています。

テーブルのデータ プロファイリング スキャンが最新であり、結果が BigQuery に公開されていることを確認します。

データ プロファイリングの設定を調整して、サンプリング サイズを大きくして、行と列を除外できます。新しいデータ プロファイリング スキャンを実行したら、分析情報を再生成します。

テーブルの説明を追加する

テーブルで分析する内容を記述した詳細なテーブルの説明は、Gemini in BigQuery でより関連性の高い分析情報を生成するのに役立ちます。テーブルの説明を追加したら、分析情報を再生成します。

たとえば、telco_churn テーブルに次のような説明を追加できます。「このテーブルは、定期購入の詳細、加入期間、サービスの使用状況などの顧客離脱データを追跡し、顧客離脱行動を予測します。」

Gemini が生成したテーブルの説明を保存すると、Gemini はその説明を使用して今後の分析情報を生成します。

列の説明を追加する

各列の内容や、列同士の関係を説明する列の説明を追加すると、分析情報の質を高めることができます。テーブルの列の説明を更新したら、分析情報を再作成します。

たとえば、telco_churn テーブルの特定の列に次の説明を追加できます。

  • Tenure: 「お客様がサービスに加入してからの月数」
  • Churn: 「お客様がサービスの使用を停止したかどうか。TRUE は、お客様がサービスを使用していないことを示します。FALSE は、お客様がービスを使用していることを示します。」

Gemini が生成した列の説明を保存すると、Gemini はその説明を使用して今後の分析情報を生成します。

BigQuery テーブルの分析情報を生成する

BigQuery テーブルの分析情報を生成するには、BigQuery Studio を使用して BigQuery のテーブル エントリにアクセスする必要があります。

  1. Google Cloud コンソールで、[BigQuery Studio] に移動します。

    [BigQuery Studio] に移動

  2. [エクスプローラ] ペインで、分析情報を生成するテーブルを選択します。

  3. [分析情報] タブをクリックします。タブが空の場合、このテーブルの分析情報はまだ生成されていません。

  4. 分析情報パイプラインをトリガーするには、[分析情報を生成] をクリックします。

    分析情報が入力されるまで数分かかります。

    テーブルの公開されているデータ プロファイリングの結果が利用可能な場合は、それを使用して分析情報を生成します。そうでない場合は、列名と説明に基づいて分析情報が生成されます。

  5. [分析情報] タブで、生成された自然言語の質問を確認します。

  6. 質問に回答する SQL クエリを表示するには、質問をクリックします。

  7. BigQuery でクエリを開くには、[クエリにコピー] をクリックします。

  8. フォローアップの質問を行うには、次の手順を行います。

    1. [追加で質問する] をクリックします。クエリが新しいデータ キャンバスで開きます。

    2. [実行]、[これらの結果に対してクエリを実行する] の順にクリックします。

    3. フォローアップの質問をするには、[自然言語] プロンプト フィールドにプロンプトを入力するか、クエリエディタで SQL を編集します。

  9. 新しいクエリのセットを生成するには、[分析情報を生成] をクリックして、パイプラインを再度トリガーします。

テーブルの分析情報を生成すると、dataplex.datascans.getData 権限とテーブルへのアクセス権を持つすべてのユーザーがその分析情報を表示できます。

BigQuery 外部テーブルの分析情報を生成する

BigQuery データ インサイトは、Cloud Storage にデータがある BigQuery 外部テーブルのインサイトを生成できます。ユーザーと現在のプロジェクトの Dataplex Universal Catalog サービス アカウントには、データを含む Cloud Storage バケットに対するストレージ オブジェクト閲覧者roles/storage.objectViewer)ロールが必要です。詳細については、バケットレベルのポリシーにプリンシパルを追加するをご覧ください。

BigQuery 外部テーブルの分析情報を生成するには、このドキュメントの BigQuery テーブルの分析情報の生成の説明に従います。

BigLake テーブルの分析情報を生成する

BigLake テーブルの分析情報を生成する手順は次のとおりです。

  1. プロジェクトで BigQuery Connection API を有効にします。

    BigQuery Connection API を有効にする

  2. BigQuery Connection を作成します。詳細については、接続を管理するをご覧ください。

  3. 作成した BigQuery 接続に関連するサービス アカウントに Storage オブジェクト閲覧者(roles/storage.objectViewer)IAM ロールを付与します。

    サービス アカウント ID は、接続の詳細から取得できます。

  4. 分析情報を生成するには、このドキュメントの BigQuery テーブルの分析情報を生成するセクションの説明に従います。

テーブルと列の説明を生成する

Gemini は、データ分析情報を生成するときに、テーブルと列の説明を自動的に生成します。必要に応じてこれらの説明を編集し、テーブルのメタデータに保存できます。Gemini は、保存された説明を使用して今後の分析情報を生成します。

テーブルと列の説明を生成する手順は次のとおりです。

  1. このドキュメントの関連セクションに記載されている手順に沿って、分析情報を生成します。

  2. [分析情報] タブで、[列の説明を表示] をクリックします。

    Gemini によって生成されたテーブルの説明と列の説明が表示されます。

  3. テーブルの説明を編集して保存するには、[詳細に保存] をクリックします。必要に応じてテーブルの説明を編集し、[保存] をクリックします。

  4. 列の説明を編集して保存するには、[スキーマに保存] をクリックします。必要に応じて列の説明を編集し、[保存] をクリックします。

料金

この機能の料金の詳細については、Gemini in BigQuery の料金の概要をご覧ください。

割り当てと上限

この機能の割り当てと上限については、Gemini in BigQuery の割り当てをご覧ください。

制限事項

  • データ分析情報は、BigQuery テーブル、BigLake テーブル、外部テーブル、ビューで使用できます。
  • マルチクラウドのお客様の場合、他のクラウドのデータは利用できません。
  • データ分析情報は、Geo または JSON の列タイプをサポートしていません。
  • 分析情報の実行で、毎回クエリが表示されるとは限りません。関連性のより高いクエリが生成されやすくするには、分析情報パイプラインを再起動します。
  • 列レベルのアクセス制御(ACL)と制限付きユーザー権限が設定されているテーブルの場合、テーブルのすべての列に対する読み取りアクセス権があれば、分析情報を生成できます。生成されたクエリを実行するには、十分な権限が必要です。
  • Gemini は、テーブル内の最大 350 個の列の説明を生成します。

ロケーション

データ分析情報は、すべての BigQuery ロケーションで使用できます。Gemini in BigQuery はグローバルに運用されるため、データ処理を特定のリージョンに制限することはできません。Gemini in BigQuery がデータを処理するロケーションの詳細については、Gemini のサービス提供ロケーションをご覧ください。

次のステップ