2024年5月16日、ChatGPTのデータ分析機能が大幅にアップデートされた。
今回のアップデートは、分かりやすい直感的なインターフェースで、非常に高速なGPT-4oモデルを使って、エクセルデータなどを誰でも簡単に分析・グラフ化できるようになった革命的なアップデートだ。
.csv
や.xls
などのスプレッドシートファイルをChatGPTに渡すだけで、テーブルデータをインタラクティブに表示してくれて、列の指定・行の指定をしながらデータ分析をChatGPTに行わせることができる。
今回のアップデートは、ChatGPT Plus、Team、Enterpriseユーザー向けに数週間かけて順次提供されるといい、まだ使用可能になっていないユーザーも多いかもしれない。
本記事では、ひと足さきに今回アップデートされたデータ分析機能の凄さを紹介するため、実際にデータ分析しながらどのようなことができるのかを解説していく。
データ分析作業の効率化と高度化が期待できるアップデートなので、データの分析やグラフ作りを行うビジネスパーソン、レポートを作成する学生まで、必見の内容だ。
分析に使用するサンプルデータ
ChatGPTのGPT-4oは、.csv
や.xls
などのテーブルデータのファイルを添付するだけで、インタラクティブなデータ分析モードを開始してくれる。
仕事でグラフを作成しなければならないデータセットなどがあれば、それを使って動作を試してみると良いだろう。
本記事では、読者が同じデータを使って色々実験できるように、オンラインで公開されているデータセットを使用する。
データ可視化ツールのtableau公式がこちらのページで公開しているデータセットで、アメリカの大型商業施設(スーパーストアと呼ぶ)の売上・利益などのデータを注文日別にまとめた.xls
ファイルだ。
過去にChatGTPの旧来のデータ分析機能を解説した当サイトの記事でも使用したデータだ。
このファイルには、3つのタブが含まれているが、解説を簡単にするため、最初の1つのタブのみをGoogleスプレッドシートとして保存し直して、その分析を進めていく。
アップデートされたChatGPTのデータ分析機能紹介
今回のアップデートでは、大きく3つの変化があった。
まず、ユーザーはGoogleドライブやMicrosoft OneDriveから直接ファイルをアップロードできるようになった。これにより、データ分析のスタートがより簡単になる。
また、テーブルやチャートとインタラクティブに操作できる新しいビューが追加された。データの中身をプレビューしながら分析を進められるので、データ分析に慣れていない人でも、ビジュアルで進捗が理解できるようになった。
また、チャートのカスタマイズとダウンロードも可能になり、プレゼンテーションや文書への活用がより便利になった。
ここでは、上記の「Superstore」データセットを用いて、追加された一連の機能を全て使って、どのようなデータ分析が可能になったのかを紹介していく。
プロンプトをなぞりながら、実際に同じステップを真似して、ChatGPTの凄さをぜひ体感してほしい。
GoogleドライブとOneDriveからの直接ファイルアップロード
これまでChatGPTでデータ分析を行う際は、ローカルにダウンロードしたファイルを、ブラウザ版のChatGPTにアップロードする必要があった。
今回のアップデートにより、GoogleドライブやMicrosoft OneDriveから直接様々なファイル形式を追加できるようになった。Mac版のChatGPTアプリでも、Googleドライブ上のファイルを直接呼び出せるようになる。
今回のアップデート後は、メッセージボックスの左側にある添付ファイルマークをクリックすると、ChatGPTとGoogleドライブ、OneDriveを接続するオプションが表示される。
Googleドライブを接続してみると、ドライブ上にあるファイル名を検索して、目的のデータファイルを指定できるようになった。
これにより、Google スプレッドシート、ドキュメント、スライド、Microsoft Excel、Word、PowerPointファイルなどを、ChatGPTに直接リンクできる。
随時更新のGoogleスプレッドシートにChatGPTに定期的にアクセスさせて、毎月繰り返しのルーティンの集計作業などを、ChatGPTに行わせることなどが可能になる。
例えば、複数の月次経費のスプレッドシートを組み合わせて、経費の種類ごとにピボットテーブルを作成するようChatGPTに依頼できる。デスクトップを経由せずに直接ファイルを扱えるので、手順が減り時短になる。
読み込んだデータのリアルタイム・インタラクティブ表示
今回のアップデートでは、Googleドライブやローカルからデータファイルを追加すると、ChatGPTがインタラクティブなテーブルを作成してくれるようになった。
実際に、「Superstore」データセットをGoogleスプレッドシートとして保存した「Sample Superstore」というスプレッドシートを読み込ませてみる。
すると、データの中身が、ChatGPTとのチャットの中で、Googleスプレッドシートのような画面で見やすく表示された。
このテーブルは、分析中にどんどん更新されていき、現在行なっている分析とその結果が、ビジュアルで分かりやすく表示される。
全画面表示に拡大することもできるので、データ構造をより直感的に理解できるようになり、次にChatGPTにどのような分析をさせるかの思考をしやすくなる。
列、行、セルを選択しての分析指示
上記のインタラクティブなテーブル表示では、テーブルの一部をクリックすると、その部分が青くハイライトされて選択できる。
特定の列、行、セルなどを選択することで、その部分についてChatGPTに質問することなどが可能だ。
例えば、実際に先ほどの「Superstore」データセットのうち、店舗のエリア(中部、東部、南部、西部)ごとに売上と利益の合計額を集計させてみる。
エリアが記載されている「Region」列をクリックした状態で、「地域別に売り上げ、利益を集計して」というプロンプトを打ち込む。
すると、見事に「Region」列でグルーピングし売上・利益を集計した表が一発で表示された。
また、複数の列、行、セルを指定した複雑な分析を行わせることもできる。
Macの場合は、Commandキーを押した状態で列などをクリックしていくと、複数選択が可能なので、分析に使用する列を全て指定することで、複雑な分析も的確に実行させることができる。
例えば、「Superstore」データで、「注文日(Order Date)」を月別にグルーピングして、「地域(Region)」別に、「売上額(Sales)」を集計させてみる。
この場合、「注文日」列と「地域」列と「売上額」列を複数選択した状態で、「月ごとの売上の推移を地域別に集計してください」と指示をする。
すると、これまた一発で完璧な集計表が出力された。
今度は、2016年の1月から12月の12行すべてをShiftキーを押しながら複数選択して、この部分を折れ線グラフにすることを頼んでみる。
プレゼンテーション用のチャートのカスタマイズとダウンロード
上記で、2016年1〜12月の12行を選択した状態で「2016年について、売り上げの地域別推移を折れ線グラフにして下さい。」というプロンプトを打ち込むと、一発で以下のようなグラフが生成された。
今回のアップデートで、グラフについてもインタラクティブな操作が可能になり、色の変更などができるようになった。
グラフの右上にある「インタラクティブチャートに切り替える」というボタンをクリックすると、静止画(.png
ファイルでダウンロード可能)と、インタラクティブチャートとを切り替えることができる。
インタラクティブチャートでは、右上の設定アイコンをクリックすると、カスタマイズ可能な項目が表示されて、例えば折れ線グラフの場合には線の色などを変更することができるようになっている。
カラーコードで色を指定できるので、プレゼンテーション資料を作成している場合など、会社で指定されたカラーがある場合に、特定のカラーでグラフを出力できるのはとても便利だ。
チャートの要素にカーソルを合わせたり、追加の質問をしたりすることもできる。
この新しいインタラクティブ機能は、多くのチャートタイプで使用できるが、現時点では、まだサポートされていないチャートの種類もある。
例えば、折れ線グラフはインタラクティブモードが利用できたが、シンプルな棒グラフでは静止画のみが表示され、インタラクティブモードは利用できなかった。
グラフを文字化けなしで日本語表示させる方法
ChatGPTで利用できるデータ分析では、残念ながらデフォルトではグラフを日本語で表示することができない。
日本語のタイトルをつけるように指示すると、文字化けしてしまうのだ。
ChatGPTは、グラフを描写するにあたって、Code Interpreterという機能を使って、Pythonというプログラミング言語を裏側で動かしている。
したがって、日本語のフォントファイルを直接ChatGPTに提供して、それをCode Interpreter上で読み込ませれば、この文字化け問題を解消することが可能だ。
文章で書くと複雑な手順に思えるが、やるべきことは非常にシンプルだ。これだけで、日本語グラフの文字化け問題を解消できる。
用意するのは、日本語に対応したフリーフォントのフォントファイルである。Google Fontsなどのサイトでは、無料でフォントファイルが公開されており、例えば「Noto Sans Japanese」をダウンロードすれば、簡単にフォントファイル(.ttf
)を入手できる。
このフォントファイル(.ttf
)を、添付ファイルとして付けて、ChatGPTに「テキストの描写には必ず添付のNotoSansJPフォントを使用して下さい」と指示すれば、移行で生成されるグラフは日本語の文字化けがなくなる。
プレゼンテーション用のグラフの微調整とダウンロード
ChatGPTにデータを集計させグラフを生成させたら、細かくプロンプトで指示することで、色を変えたり、フォントサイズを変更したりといったことも可能だ。
上記で生成された月別・地域別の売上推移グラフについて、
- 日本語のタイトルをつける
- 日本語のタイトル、X軸のラベル、Y軸のラベルが小さすぎて見えないので拡大する
- 棒グラフの色が赤色系ばかりで見分けがつかないので、見分けやすいように色を変更する
これらの更新を行うようにプロンプトで指示しただけで、修正後のグラフが表示された。
完成したグラフは、グラフの右上にあるダウンロードボタンから、.png
ファイルとしてダウンロードすることができる。
こうして、そのままプレゼン資料に貼り付けられるレベルのグラフを、人間の作業なしで、ChatGPTの力だけで作成することができた。
分析のアイディア自体もChatGPTが提案してくれる
分析を進めていくと、次のプロンプトの提案が自動的に表示される機能もついている。
売上の地域別推移のグラフを作成している途中で、「利益の地域別推移も確認したいです。」という次の分析の提案がチャットボックスの少し上に表示された。
これをクリックすると、そのプロンプトがChatGPTに送信され、利益の地域別分析も行ってくれる。
このように、データの中身をChatGPTが考慮した上で、ユーザーが関心がありそうな提案のサジェスト機能までついているので、データ分析の初心者であっても、自分自身が思い付かなかった分析の切り口に気づくことができる。
ChatGPTのデータ分析機能のトラブルシュート
これだけ便利なChatGPTのデータ分析機能だが、いくつか日本人がつまずきがちな典型的なトラブルがある。
ChatGPTのデータ分析機能で使用されているのは、Code Interpreterを通して使用されるプログラミング言語のPythonによるデータ分析・データビジュアライゼーションモジュールである。
これらのデータ分析ツールは、英文や数値を前提にしているため、特に日本語の文字コードに弱く、文字化けが非常に頻繁に起こる。
筆者が遭遇したトラブルと、その解決方法を、簡単にここに備忘録として記しておく。
読み込んだデータそのものが文字化けしている時
日本語を含むエクセルファイルやCSVファイルを添付すると、そもそも最初に表示されるテーブル自体が文字化けしており、それ以上分析しようにも、列名もデータの中身も文字化けしているのでどうしようもないことがある。
このような場合、データを添付する際のチャットで、「日本語が含まれるファイルなので、読み込み時の文字コードに要注意」と言ってしまうのが良い。
こうすると、ChatGPTがPython環境でデータを読み込む際に、適切なエンコーディングを選択してくれて、文字化けせずに読み込めることが多い。
グラフのテキストが文字化けしている時
先に記載の通り、Google Fontsなどのフリーで入手できるフォントファイルを添付して、そのフォントファイルをグラフ描写時に使用するようにChatGPTに直接指示をする。
筆者のおすすめは、GoogleとAdobeが共同で開発した日本語Webフォントである「Noto Sans Japanese」である。
日付などのデータ形式が正しく認識されていない時
エクセルでも、「表示形式」で日付や通貨を選択するように、ChatGPTが裏側で使用しているPythonでも、ある列のデータが数値なのか日付なのかタイムスタンプなのかを伝えることで、正しくデータ分析ができるようになる。
例えば、ChatGPTに対して、名前列でソートして下さい、日付列でソートして下さい、など、テーブルデータの並び順の変更をプロンプトで指示することもできる。
その際、「日付」順でソートして下さい、と言っても、正しくソートされない場合がある。
ChatGPTが日付データが入っている列を、正しく日付として認識できておらず、”あいうえお順”で比較した結果、「2020/1/2」よりも「2020/1/19」の方が前に来てしまっている、と言ったケースがあるのだ。
こうしたときは、単純にChatGPTにチャットで「A列は2020/1/1という形式の日付データです」などと形式を伝えてしまうと良い。
ExcelスキルがなくてもChatGPTで完璧なグラフを生成できる時代
ChatGPTのデータ分析機能は、今回のアップデートにより大きく進化した。
クラウドと接続してのファイルの直接読み込み、インタラクティブなテーブルとチャート、カスタマイズ性の向上により、初心者から上級者まで、データ分析作業がより効率的かつ高度になった。
Googleスプレッドシート、エクセルなどのテーブルデータさえあれば、自分でピボットテーブルを作るのを手作業で頑張ったり、プレゼン資料に載せるグラフを何種類も手作業で作ったり、といった作業をする必要もなくなる。
ルーティンで作成する集計表やグラフなどは、もはやエクセルや関数、マクロの使い方を引き継がなくても、ChatGPTとのチャット履歴を引き継ぐだけで、後任者が同じ分析を一瞬で再現することができるようになるだろう。
仕事や学校などで、少しでもデータの集計やグラフの作成作業を行うことがある人は、是非とも一度はChatGPTの新しくなったデータ分析機能を使ってみるべきだ。