🧠 概要:
概要
この記事では、CursorとMCPを使用して、自然言語でGoogle BigQueryからデータを抽出する方法が紹介されています。著者は、ECビジネスでの大量のデータを効率的に分析できるようになったことを喜び、具体的なシステム構築の流れや、実際のデータ取得の方法について説明しています。
要約の箇条書き
- ECビジネスでの顧客データや注文データの分析が必要とされている。
- 従来の方法ではExcelやスプレッドシートの制限があり、分析が難しかった。
- データはGoogle Cloud Storageへ格納し、BigQueryに投入する仕組みが作られた。
- AIを活用し、CursorとMCPで自然言語からデータを取得することに成功。
- 準備として、GoogleのSDKをインストールし、MCPサーバの設定、BigQueryへの接続を行う。
- 具体的な使用方法として、自然言語でデータを即座に取得したり、クエリファイルを作成する方法が紹介された。
- Cursorの使用によりクエリ作成のスピードが向上し、データドリブンに運用できるようになった。
- 一部の課題として、クエリの文法エラーのフィードバックプロセスが挙げられた。
積年の願いがついに叶いました・・・!
私がここ数年担当している事業はECビジネスで、5年分くらいの顧客データと受注データ、さらには広告からの流入数、購入数などのデータが全部で1,000万行くらいあります。
これを深堀り分析するのに、今まではECカートシステム(ちなみにECforce)から一定条件で絞り込んだRAWデータをCSV形式でDLして、それをスプシやらExcelやらでピボットしたり集計したりってのをやってた・・・!。
しかし当然Excelにもスプシにも行数の制限があって「1年単位の顧客のLTVや購入履歴の探索」みたいなのはできず、長期的にLTVをあげる施策のための分析ができなかったんですよね。。
こりゃDBじゃないとモームリ!になって、カートシステムのデータを(個人情報を含まない形式で)デイリーバッチ処理でGoogle Cloud Strageに格納し、デイリーバッチ処理でBigqueryに投入するという仕組みを作ったのが1年前。
これによりBigqueryにクエリさえかけば5年分のデータの集計結果を取り出せるようになった。
そう、「クエリさえ書ければ・・・!」
今のチームはエンジニア不在。データ分析欲の高いビジ職メンバーが私も含め数人いて、chatGPTに手ほどきをうけながらクエリを書いている状態でした。
なので複数テーブルをjoinさせたり難しい条件になるとまあむずい。私もチームの子から「このクエリで○○を抽出したいんですけど、どうしてもうまくいかなくて」みたいな相談受けて、その解決に数日かかったりしてたのよ・・。
AIでもっと簡単にクエリ作成できないの?ってことでみんな大好きCursorの登場です!!
Cursor + MCP で Big queryに接続!
MCPを使えば人間語でほしいデータを伝えてCursorからBig queryデータの取得ができる。もちろんクエリも作成できる!!
準備
基本はCursorで会話しながら初期設定していけます。
-
GoogleのSDKインストール
※私は途中でbrewのインストールとかが必要だった -
MCPサーバの設定
-
CursorからGoogle認証してBig queryに接続する
4 .必要なテーブルのスキーマ情報やサンプルとしてデータを何件か取得してルールファイルを作成してもらう


テーブルのスキーマ情報とサンプルデータがあることでクエリ生成の精度があがるんや!
準備ができたら早速データを取得してみる。
私のCursor + MCP + big queryの使い方2パターン
①欲しいデータを自然言語で伝えて結果データをサクッと取得
クエリ書くほどでもないな、スポットで集計結果だけ欲しいな、みたいなのは人間語でCursorに伝えて結果だけ答えてもらう。
例えばMTG中に「今って支払い方法何が一番多いんだっけ?」みたいに聞かれた時に「過去7日間の受注データで決済方法別の数を教えて」って感じで、さくっと集計結果だけ出してもらう。その場で回答ができる!(あの数字ってどうなってたっけ?を「調べておきます」って次回に持ち越さなくていい)


②クエリファイルを作ってもらう
集計結果をリストで出すとかクエリをスプシのBQ接続に設定して毎日自動取得するとか、結果じゃなくクエリ自体が必要なことがあるので、クエリを作成してファイルにしてもらいます。そこそこ複雑なクエリはざっくり依頼して、初稿をみて調整していく。
例えばこういう条件でクエリを作ってファイルにしてもらう依頼。

作成したクエリに対して、条件を追加したり変更したり依頼するとファイルを直接修正してくれる。(ここをこう書き換えるよってのがわかりやすいのが超いい!)

難点といえば
概ね素晴らしいとしか言いようがないのだけど、難点といえばクエリの文法エラーが発生してもCursorでは「なんかエラーおきちゃった」的なことしかわからず、結局実行したクエリをGCPコンソールにコピペして表示されたエラー文言を私がコピーしてまたcursorにFBしないといけない点。
とはいえ、クエリ作成のスピードは圧倒的にあがったのでチームのビジメンバーに使ってもらってデータドリブン運用していくうううう!
※社内の方で興味ある人いたらAIオペ室に連絡してください!
関連記事
Views: 0