はじめに:生成AIをQlikにくっつけてみた
最近「BI × 生成AI」という言葉をよく耳にします。
でも実際に「QlikのデータをChatGPTに聞く」ってどうやるの?
そんな素朴な疑問から、Qlik Sense と OpenAI API をつなげて遊んでみたのでご紹介します。
「社員がやってみたらこうなった」系の記事ですが、
実際に動かしてみると 業務にも使える可能性が見えてきました。
今回使った環境とツール
今回の試作で使ったのはこの3つ。
- Qlik Cloud(Qlik Sense アプリと Qlik Automate)
- OpenAI API(ChatGPTのエンジンをAPI経由で利用)
- サンプルデータ(都道府県別の男女人口)
仕組みはシンプルです。
- Qlikのシートで質問を入力
- Qlik AutomateでOpenAI APIを呼び出し
- 回答をQlikのシートに返して表示
全体像はこんなイメージです。

OpenAI APIキーの取得と設定
まずはOpenAIのAPIを使うために、APIキーを取得します。
この手順を忘れると、Call URLブロックが動きません。
- OpenAI公式サイト でアカウントを作成
- ログイン後、メニューから「API Keys」を開く
- 「Create new secret key」をクリックして発行
- 表示されたキーをコピー(再表示できません)
このキーを、後述のQlik Automateの Call URLブロックの、Headers に設定します。
* APIキーは個人専用です。共有環境やGitHubにアップしないよう注意!
Qlikアプリの準備
まずはQlikにサンプルデータを入れました。
「都道府県ごとの男女人口」をインラインロードしています。
LOAD * INLINE [
都道府県, 男性人口, 女性人口
北海道, 2447000, 2834000
京都府, 1221000, 1339000
佐賀県, 396000, 425000
…
];
シートにはこんな要素を置きました。
- 質問入力用のテキストボックス
- 実行ボタン(「きいてみる」ボタン)
- 回答表示用のテキストオブジェクト

また、変数も2つ作っておきます。
- vPrompt:ユーザーの質問を格納
- vAns:OpenAIからの回答を格納
AutomationでAPIを呼んでみる
次はQlik Automateの出番です。
フローはこんな感じ

ボタンを押すとAutomation起動
Apply Bookmarkで「今の選択状態」を保持
Get Straight Table Dataで選択したデータを取得
CSV形式の文字列に変換(例:「都道府県,男性人口,女性人口…」)
OpenAI API呼び出し(Call URLブロック)
回答を変数vAnsに保存(Update Variable + Save App)
Call URLブロックでのAPI呼び出しについて、ちょっと詳しく
ここではAPI呼び出しにCall URL を使っていますが、OpenAI専用のCreate Completion ブロックを使う方法もあります。Call URLはさまざまなAPI呼び出しに応用できるので、今回はこちらを使用しました。
Call URLの設定項目は以下の通り
・URL:OpenAIのAPI https://api.openai.com/v1/chat/completions
・Method:POST
・Param:ここに、一般的なAPI呼び出しのbodyをJSON形式で記載します
{
"model": "使用したいモデル名",
"messages": [
{
"role": "system",
"content": "OpenAIに投げるテキスト"
},
{
"role": "user",
"content": "\n\n以下のCSVデータに基づいて答えてください:\n\n"
}
],
"max_tokens": 300,
"temperature": 0.2
}・Headers:KeyーValue形式で、ヘッダーを記載。必要なKeyは、Authorizationと、Content -Typeです。
最初は「Temporary Bookmarkが反映されない」「JSONPathエラーが出る」などハマりどころもありましたが、
一度流れを掴むとスムーズに動きます。
実際に動かしてみた
試しに「京都府」と「佐賀県」を選択して、
質問欄に「特徴を教えて」と入力してみました。
返ってきた答えは例えばこんな感じ:
「京都府は比較的人口が多く、女性が男性よりやや多い傾向が見られます。
一方、佐賀県は人口規模が小さく、男女差は大きくありません。」
単に「東京が一番多いです」ではなく、
選択範囲を理解したうえで要約してくれます。
以下は、無茶振りしてみた時の回答例

これ、業務でどう使える?
遊んでみて「これは業務にも広がりそうだな」と感じました。
- 自然言語でデータ分析→ 「売上の特徴を教えて」と入力するだけで要約してくれる
- レポートの自動要約→ チャートを選択するとAIが文章にしてくれる
- 社内データQ&A→ 「この数字の見方は?」と聞けばその場で答えてくれる
特にQlikは「ビジュアル化が強い」ですが、テキストでのインサイト提示は弱かった部分。
そこをAIで補えるのは大きな価値だと感じました。
コストとセキュリティの注意
- OpenAI APIは従量課金制(数十円〜数百円で十分試せます)
- APIキーは個人ごと発行・共有厳禁
- 機密データを送る場合は、社内規定やデータマスキングに注意
まとめ:やってみたら結構面白かった
今回の実験では、
- Qlikで選んだデータを
- Qlik AutomateでCSV化して
- OpenAI APIに投げて
- 回答をシートに表示
という仕組みを作ってみました。
技術的にはシンプルですが、活用の可能性はとても広いと感じます。
今後は実データや他のAPIでも試してみたいですし、もっと面白い使い方があるかもしれません。
次は、ストレートテーブルをCSV化したものではなく、
チャートのグラフそのものをAPIに投げられるようにしてみます。
「こんな活用アイデアあるよ!」というご意見があれば、ぜひ教えてください。


