こんにちは、廣本です。
Tableau Agentは、Tableauの分析を手助けしてくれるAIエージェントです。今回はこのTableau Agentと一緒にPrepを使ってみました。
せっかくなので、今回はTableau Agent(以下🤖)と、廣本(以下👓️)の会話形式で進めていきたいと思います。
※出力結果を元に、一部脚色しています。実際にこういった会話になるとは限りませんのでご了承ください。
Prepを一緒に使ってみた
👓️ Tableau Agentくん、今日はよろしくお願いします。
🤖 よろしくお願いします。今日はどんなお手伝いをしましょうか?
👓️ そうだね、まずはTableau Prepでデータを準備したいと思ってるんだけど。「顧客別の合計売上」を計算式で定義したいんだけど、どう書けば良いかな?
🤖 顧客ごとの合計売上ですね。それでしたら、以下の計算式で計算できます。
{ FIXED
[Customer Name]
: SUM(
[Sales]
)}

👓️ すごい!こんな関数知ってるんだね。ちなみにこれはどういう計算をしているの?
🤖 これは各’Category’ごとに’Sales’の合計を計算するためのレベル・オブ・ディテール(LOD)計算です。
👓️ なるほど、そういう計算式なんだね。Tableau Agentくん、関数に詳しいなんてすごいね!
🤖 お褒めいただきありがとうございます。他に何かお手伝いできることはありますか?
👓️ 今度はオーダーIDを「-」で区切ったときの一部分を抽出したいな。EXTARCT関数で区切ることはできる?
🤖 SPLIT関数を使用すると「-」で区切ることができます。

👓️ そうか、TableauだとEXTRACT関数じゃなくてSPLIT関数を使うんだね。僕がやりたいことをきちんと汲み取ってくれてありがとう!
🤖 お褒めいただきありがとうございます。他に何かお手伝いできることはありますか?
👓️ 元々Excelでやっていた処理をPrepで置き換えようと思ってるんだけど、元の関数が複雑で……。Tableauでやろうとすると計算式を書き換えないといけないみたい。どう書けば良いかな?
IF(AND(A1>0,A1<10),IF(MOD(A1,2)=0,"偶","奇"),IF(A1>10,"大","小"))
🤖 それでしたら、以下の計算式でいかがでしょうか?
IF
[A1]
> 0 AND
[A1]
< 10 THEN IF
[A1]
% 2 = 0 THEN '偶' ELSE '奇' END ELSEIF
[A1]
> 10 THEN '大' ELSE '小' END

👓️ こんな一瞬で計算式を読み解けるなんてすごい!おかげで時間が節約できたよ。
🤖 お褒めいただきありがとうございます。お役に立ててうれしいです。
👓️ Tableau Agentくん、これからもよろしくね!
所感まとめ
- 自然言語の指示で計算式を作成してくれるので、特に初心者にとっては非常にありがたい存在になるのではないでしょうか。隣に詳しい人が座って一瞬で質問に答えてくれる感じがします。
- こちらからの指示を真に受けるのではなく、やりたいことを汲み取って解釈し、適宜修正してくれるのも心強いです。指示が少し抽象的だったり、フィールドの表記ミスをしてしまったりした場合も適切に処理をしてくれます。
- 一方で、指示が抽象的すぎたり、指示をダラダラと長い文章で書いてしまうと、うまく回答が返ってこないこともあります。指示する側でもある程度プロンプトを工夫する意識を持っておくと、より効果的に使えそうです。
- もしかすると、操作に慣れている人の場合は、Tableau Agentに頼らずとも、自分で書いてしまった方が早いし確実かもしれません。しかし、複雑な式を考えたいときや、エラーの原因を突きとめたいとき、使用可能な関数を調べたいときには、操作に慣れた人にとっても役立ちそうだなと思いました。使う人の習熟度によってもいろいろな使い方ができそうですね。
今回はTableau Agentを使ってPrepを操作してみましたが、一緒にフローをつくる仲間がいるような感覚で使用することができました。ただし、あくまでエージェントは人間のサポートをしてくれる存在なので、指示を丸投げするのではなく自分の理解を深めるために使うのが大事だなと思いました。
Tableau Agentはデータ分析の頼もしいパートナーとなる可能性を秘めています。ぜひみなさんも実際に使って、その便利さを体感してみてください!