Gemini の支援機能でデータを分析する

このチュートリアルでは、Gemini in BigQuery で AI を活用したアシスタンスを使用してデータを分析する方法について説明します。

このチュートリアルの例では、あなたは、データセットから商品の販売を分析して予測する必要があるデータ アナリストです。

このチュートリアルは、SQL と基本的なデータ分析タスクに精通していることを前提としています。Google Cloud プロダクトの知識は前提ではありません。BigQuery を初めてご利用になる場合は、BigQuery のクイックスタートをご覧ください。

目標

  • Gemini in BigQuery を使用して、BigQuery が特定のデータ分析タスクを処理する方法に関する質問に回答する。
  • Gemini in BigQuery にデータセットの検索、SQL クエリの説明と生成を指示する。
  • 今後の期間の売上を予測するための機械学習(ML)モデルを構築する。

費用

このチュートリアルでは、課金対象である次の Google Cloud プロダクトを使用します。

予想使用量に基づいて費用を見積もるには、料金計算ツールを使用します。

始める前に

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Google Cloud プロジェクトに Gemini in BigQuery が設定されていることを確認します
  3. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  4. bqml_tutorial という名前のデータセットを作成します。データセットを使用して、テーブルやモデルなどのデータベース オブジェクトを保存します。

  5. このチュートリアルを完了するために必要な Gemini in BigQuery の機能を有効にするには、BigQuery ツールバーで [pen_spark Gemini] をクリックし、次のオプションを選択します。

    • オートコンプリート
    • 自動生成
    • 説明

BigQuery の機能について学習する

始める前に、BigQuery がデータクエリを処理する方法について理解しておくことをおすすめします。ヘルプを利用するには、Gemini in BigQuery に次のような自然言語ステートメント(またはプロンプト)を送信します。

  • 「How do I get started with BigQuery?」
  • 「What are the benefits of using BigQuery for data analysis?」
  • 「How does BigQuery handle auto-scaling for queries?」

Gemini in BigQuery は、データの分析方法に関する情報も提供できます。このような種類のヘルプについては、次のような Gemini プロンプトを送信できます。

  • 「BigQuery で時系列予測モデルを作成する方法を教えてください。」
  • 「さまざまな種類のデータを BigQuery に読み込む方法を教えてください。」

データのアクセスと分析

Gemini in BigQuery は、分析のためにアクセスできる対象データとそのデータの分析方法を理解するのに役立ちます。

この例では、次のサポートが必要です。

  • 分析する販売データセットとテーブルを見つける。
  • 販売データセットでのデータテーブルとクエリの関係を把握する。
  • 複雑なクエリの理解し、データセットを利用するクエリを作成する

データを検索する

データをクエリする前に、アクセス可能なデータを知っておく必要があります。データ プロダクトはそれぞれ、データの構成方法や格納方法が異なります。

ヘルプを利用するには、Gemini in BigQuery に「BigQuery で使用可能なデータセットとテーブルを確認する方法を教えてください?」というプロンプトを送信します。

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

    [BigQuery] に移動

  2. Google Cloud コンソールのツールバーで、[spark Gemini AI チャットを開くか、閉じます] をクリックします。

  3. [Gemini] ペインにプロンプト How do I learn which datasets and tables are available to me in BigQuery? を入力します。

  4. [sendメッセージを送信] をクリックします。

    Gemini for Google Cloud がいつどのようにデータを使用するかについては、こちらをご覧ください。

    回答でデータセット内のプロジェクト、データセット、テーブルを一覧表示する方法がいくつかあります。

  5. 省略可: チャットの履歴をリセットするには、[Gemini] ペインで delete [チャットをクリア] をクリックしてから、[Reset chat] をクリックします。

BigQuery での SQL の理解と作成

この例では、分析するデータを選択し、そのデータをクエリするとします。Gemini in BigQuery は、複雑で解析が難しいクエリの理解や、新しい SQL クエリの生成など、SQL の作業に役立ちます。

SQL クエリを説明するよう Gemini に指示する

他のユーザーが作成した複雑なクエリを理解したいとします。Gemini in BigQuery は、クエリ構文、基盤となるスキーマ、ビジネス コンテキストなど、クエリを平易な言葉で説明できます。

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

    [BigQuery] に移動

  2. クエリエディタで、説明するクエリを開くか貼り付けます。例:

    SELECT
      u.id AS user_id,
      u.first_name,
      u.last_name,
      avg(oi.sale_price) AS avg_sale_price
    FROM `bigquery-public-data.thelook_ecommerce.users` AS u
    JOIN `bigquery-public-data.thelook_ecommerce.order_items` AS oi
      ON u.id = oi.user_id
    GROUP BY 1, 2, 3
    ORDER BY avg_sale_price DESC
    LIMIT 10
    
  3. クエリをハイライト表示し、[auto_awesome 選択したクエリの説明] をクリックします。

    [Gemini] ペインには、次のような回答が返されます。

    The intent of this query is to find the top 10 users by average sale price.
    The query first joins the users and order_items tables on the user_id
    column. It then groups the results by user_id, first_name, and last_name,
    and calculates the average sale price for each group. The results are then
    ordered by average sale price in descending order, and the top 10 results
    are returned.
    

日別と商品別で売上をグループ化する SQL クエリを生成する

この例では、毎日の上位の商品を一覧表示するクエリを生成します。次に、thelook_ecommerce データセットのテーブルを使用して、注文された商品アイテムと商品名別に売上を計算するクエリを生成するよう Gemini in BigQuery に指示します。

この種類のクエリは複雑になる場合が多いですが、Gemini in BigQuery を使用すれば、ステートメントを自動的に作成できます。データのスキーマに基づいて SQL クエリを生成するように指示できます。コードなしで始める場合や、データスキーマの知識が限られている場合、または SQL 構文の基本的な知識しかない場合でも、Gemini 支援機能は 1 つ以上の SQL ステートメントを提案できます。

上位の商品を一覧表示するクエリを生成するよう Gemini in BigQuery に指示するには、次の手順を行います。

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

    [BigQuery] に移動

  2. ナビゲーション メニューで [BigQuery Studio] をクリックします。

  3. [クエリを新規作成] をクリックします。[エクスプローラ] ペインに、選択したデータベースが自動的に読み込まれます。

  4. クエリエディタで、次のプロンプトを入力してから Enter キーを押します。

    # select the sum of sales by date and product casted to day from bigquery-public-data.thelook_ecommerce.order_items joined with bigquery-public-data.thelook_ecommerce.products
    

    ハッシュ記号(#)は、Gemini in BigQuery に SQL を生成するよう指示します。Gemini in BigQuery は、次のような SQL クエリを提案します。

    SELECT
      sum(sale_price),
      DATE(created_at),
      product_id
    FROM
      `bigquery-public-data.thelook_ecommerce.order_items`
        AS t1
    INNER JOIN `bigquery-public-data.thelook_ecommerce.products` AS t2
      ON t1.product_id = t2.id
    GROUP BY 2, 3
    
  5. 提案されたコードを受け入れるには、[タブ] をクリックしてから [実行] をクリックし、SQL ステートメントを実行します。提案された SQL をスクロールして、ステートメント内で提案された特定の単語を受け入れることもできます。

  6. [クエリ結果] ペインで、クエリの結果を確認します。

予測モデルを構築して結果を表示する

この例では、BigQuery ML を使用して次の操作を行います。

  • トレンドクエリを使用して予測モデルを構築します。
  • Gemini in BigQuery を使用して、予測モデルの結果を表示するクエリを作成し、クエリの説明を提示します。

モデルへの入力に使用される実際の売上で、以下のサンプルクエリを使用します。このクエリは、ML モデルの作成手順の一環として使用されます。

  1. 予測 ML モデルを作成するには、クエリエディタで次の SQL クエリを実行します。

    CREATE MODEL bqml_tutorial.sales_forecasting_model
      OPTIONS (
        MODEL_TYPE = 'ARIMA_PLUS',
        time_series_timestamp_col = 'date_col',
        time_series_data_col = 'total_sales',
        time_series_id_col = 'product_id')
    AS
    SELECT
      sum(sale_price) AS total_sales,
      DATE(created_at) AS date_col,
      product_id
    FROM
      `bigquery-public-data.thelook_ecommerce.order_items`
        AS t1
    INNER JOIN `bigquery-public-data.thelook_ecommerce.products` AS t2
      ON t1.product_id = t2.id
    GROUP BY 2, 3;
    

    Gemini in BigQuery は、このクエリを理解する際に役立ちます。

    モデルが作成されると、[クエリ結果] ペインの [結果] タブに次のようなメッセージが表示されます。

    Successfully created model named sales_forecasting_model.
    
  2. [Gemini] ペインに、完了時に予測データを取得するクエリの作成を Gemini in BigQuery に指示するプロンプトを入力します。たとえば、「How can I get a forecast in SQL from the model?」と入力します。

    プロンプトのコンテキストに基づいて、回答には売上を予測する ML モデルのサンプルが含まれます。

    SELECT
      *
    FROM
      ML.FORECAST(
        MODEL `PROJECT_ID.bqml_tutorial.sales_forecasting_model`,
        STRUCT(
          7 AS horizon,
          0.95 AS confidence_level))
    

    この回答の PROJECT_ID は、Google Cloud プロジェクトです。

  3. [Gemini] ペインで、SQL クエリをコピーします。

  4. クエリエディタで SQL クエリを実行します。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、このチュートリアルで作成した Google Cloud プロジェクトを削除します。また、リソースを個別に削除することもできます。

プロジェクトを削除する

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

データセットを削除する

プロジェクトを削除すると、プロジェクト内のデータセットとテーブルがすべて削除されます。プロジェクトを再利用する場合は、このチュートリアルで作成したデータセットを削除します。

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

    [BigQuery] に移動

  2. ナビゲーションから、作成した bqml_tutorial データセットを選択します。

  3. データセット、テーブル、すべてのデータを削除するには、[データセットの削除] をクリックします。

  4. 削除を確定するには、[データセットを削除] ダイアログでデータセットの名前(bqml_tutorial)を入力し、[削除] をクリックします。

次のステップ