Qlikのライトテーブル(Write Table)に書き込んでみる 〜その1〜

こんにちは!Yokoです。
2025年12月にライトテーブルという機能が追加されました。
Qlikのチャートに「ライトテーブル」が追加された時、ライト?、表示が軽いのかな?😄、それはLightでしょ!、そっかWriteね!😄…という感じで、聞いてはいたけどついに来たかと思いました。
このライトテーブルというチャートはQlik Sense上のテーブルに書き込めて、保存できるという機能で、以前はVizlibという有償エクステンションの”Writeback Table”を使うしかありませんでした(僕の知る限り)。
VizlibのWriteback Tableでは、設定するだけでリアルタイムにデータベースに書き込めたりするので、本格的に使いたい人にはVizlibをお勧めします。
が、Qlikとは別にExcelで管理されているデータがあり、そのメンテナンスをした上でストレージに保存しているというお客様もいらっしゃいますよね。でも有償のVizlibを入れるにはちょっと…というお客様が多いのではないでしょうか?
というわけで、うちのお客様2社にライトテーブル機能を実際に追加してみましたので、ご紹介致します。

目次

ライトテーブルを実装した事例

Qlikのライトテーブル(Write Table)は、先程述べたとおり、2025年12月に追加された機能なので、発展途上なのだと思いますが、2026年3月現在の機能を使って、実際に導入した事例を2つご紹介します。
出来立てのホヤホヤです。

【A社:データソースの商品マスタとは別に管理したい項目をExcelで管理→ライトテーブル化】

Before

頭の中が混乱している様子を表す、人の横顔のアイコン
  • 元データの商品マスタのカテゴリ以外に、集計したいカテゴリがあり、Excelで別管理している
  • 新しい商品が追加されると、Qlikの表示を元に、S3に格納されているExcelを編集している
  • 日次更新なので、メンテンナンスしても翌日の反映になる

After

ひらめきやアイデアを表す、電球のアイコン
  • Qlikにメンテナンス用のシートを準備
  • メンテナンス用シートのライトテーブルではメンテナンスが必要な商品が一目でわかり、その場で入力が可能
  • メンテナンスが終了したら、シートの「リロード」ボタンで即時更新できる

【B社:得意先別の前年対比→ライトテーブル化】

Before

頭の中が混乱している様子を表す、人の横顔のアイコン
  • 得意先別に前年度と今年度の実績を比較し、今年度未受注、売上が下がった得意先をQlikで抽出している
  • Qlikで抽出したリストをExcel化して、各担当者がExcelにコメントを入れる
  • 以上を毎月繰り返しているが、作業が煩雑極まりない

After

ひらめきやアイデアを表す、電球のアイコン
  • Qlikの前年比較用のストレートテーブルをライトテーブル化
  • ライトテーブルには現在のコメントの横に「編集コメント」欄を作成し、コメントの書き換えができる
  • 定期リロード時に編集コメントで現在のコメントを更新する(新たなコメントは追加される)

ライトテーブルのしくみ

ライトテーブルはQlikのHELPやYouTube動画でも紹介されているのですが、端的に説明するために以下のようの整理してみました。

Qlik上でKEY, VALUE0というフィールドが構成されるテーブルがあるとします。そこにVALUE1, VALUE2という編集フィールドを追加します。この編集フィールドの追加はライトテーブルで行いますので、事前に空のフィールドを準備する必要はありません。

ライトテーブルで最も重要なのがKEYの存在です。
このKEYは編集フィールドが結びつくものですので、必ずユニークになるフィールドをKEYにする必要があります。
上記の事例でいいますと…
A社では商品マスタのメンテナンスですので、商品コードがKEYとなります。
一方、B社の場合は得意先の年度ごとのコメントになりますので、得意先コードと年度の2つがKEYとなります。

Qlikアプリのライトテーブルで入力された値は、Qlikアプリの外部にある(と思われる)変更ストア(Change Store)に保存されます。
ライトテーブルで編集フィールドとして定義されたVALUE1, VALUE2に値が入力(あるいは編集)されると、変更ストアにKEYと一緒に書き出されます。ここで、入力されていないKEY-102とK-104のレコードは出力されません。
そして、Qlikアプリと変更ストアはKEYで関連付けられて、Qlikアプリ側で変更ストアからVALUE1とVALUE2を表示できるようになります。
厳密にいいますと、Qlikアプリ側のVALUE1とVALUE2は実際には存在せず、変更ストアのVALUE1とVALUE2を表示しているというほうが正しいですね。
このように、ライトテーブルを作成する前に、入力する値は、どういう単位で管理すべきかを考えて、KEYとなる項目を決めておく必要があります。
尚、KEYとして定義するフィールドは物理的に存在する項目である必要があり、数式などで作成した計算軸をKEYにすることはできませんので注意して下さい。

もう一つ、重要なことがあります。
それは変更ストアはあくまで一時的に保存されている場所であるということです。
変更ストアに登録された値は90日間しか保存されません
ということは、変更ストアのデータをファイルやDBに書き出しておくという運用が必要になるということです。
一旦、ファイルやDBに書き出したデータから変更ストアに戻して上げることはできないものか…
残念ながら、2026年3月現在、変更ストアにデータを書き出す(更新する)ということはできないようですね。
そうなると、Qlikアプリ側は変更ストアに格納したフィールドをさらに取り込むフィールドがなければいけないことになります。
上で、VALUE1とVALUE2に相当するフィールドは実際にはQlikアプリ側にはないとお話しましたが、実運用上はVALUE1とVALUE2に対応するフィールドをQlikアプリ側で作成する必要があるわけです。
ちょっとややこしい話になっていまうので、この方法については、別の機会にご説明したいと思います。
なので、今回はライトテーブルで入力した値は90日で寿命を迎えるということだけ覚えておいて下さい。

ライトテーブルの作成

では、さっそくライトテーブルを作成してみましょう。
直接ライトテーブルで作成してもいいのですが、今回は既存のストレートテーブルを変換してライトテーブル化してみます。

アセットパネルのチャートから「ライトテーブル」をストレートテーブル上にドロップして「以下に変換:ライトテーブル」を選択するだけで、ライトテーブルに変換できます。
見た目はストレートテーブルと変わらないですよね。

データ > 列で[・・・]をクリックしてメニューを開き、「編集可能な列」を追加すると、書き込める列が追加されます。

「title」はこの列のラベルを設定できます。
また「目次とキーワードを表示」では「手動によるユーザー入力」の他、「単独の選択」の設定も可能ですので、ドロップダウンによる選択も可能になっていますね。

ここでは「title」に”コメント”、目次とキーワードを表示」では「手動によるユーザー入力」と設定してみました。
「プレゼンテーション」を見ると、Show Columnのチェックが入っていることがわかります。
このチェックを外すと、チャート上では表示されなくなるのですが、うーん…
「条件に応じて列を表示」はできないのでしょうか?ちょっと残念。
編集したい時だけ、[編集]ボタンを押したら列を表示する…というようなUIにはできないってことですよね。
実際にお客様の環境では、これができないために、レイアウトコンテナに通常のストレートテーブルとライトテーブルを収容して、表示切り替えするという方法を取らざるを得ませんでした。
これは改善してほしいですねえ。

ストアを変更」を開くと「ストアIDを変更」と「プライマリーキー」の[定義]ボタンが表示されます。
ここで表示されているストアIDは、このアプリと関連付けられた変更ストアのIDになります。
そして、変更ストアと関連付けるキーが必要ですので、「プライマリーキー」の[定義]ボタンをクリックして、キーを設定します。
今回は、店舗ID毎にコメントを入れたいので、「店舗ID」にチェックを入れ、[保存]ボタンを押します。

ライトテーブルに入力してみよう

コメントの列ができましたので、コメントを入力してみます。
むむむ…
入力しにくい!

英語圏ならおそらく何ら問題がないのでしょうが、日本語などの2バイト圏の国では、変換した後に[Enter]キーを押すのが標準的な操作方法だと思います。
ここでは「えいきょう」と入力して候補を表示して「影響」を選択するのに[Enter]キーを押したら…

次の行に移動してしまいました。
そして、2行目に”影響”と入力された?🤔
イケてないですね😩
ちょっと放置すると、2行目に表示されるのは[Enter]キーを押した直後だけで、数秒後には消えていました。
この[Enter]キーを使わない日本語変換ってどうやってやればいいのかな?
マウスでクリックするしかないのかな?…
誰か教えて下さい!
いずれにしてもスムーズな入力とは言えない。
これも改善が必要と思います😒

入力した後は、「編集可能な列」の左上はオレンジ色になっています。このままですと変更ストアには保存されていない状態ですので、チャートの右下の[保存]ボタンを押下することで、変更ストアに保存されます。
[保存]ボタンの右にアラートのアイコンが表示されていますので、クリックすると「90日で消えるよ!」という説明が出てきます。
これは、「ライトテーブルのしくみ」でご説明したとおりです。

ライトテーブルは複製できない

ライトテーブルでは、「編集可能な列」は「条件に応じて表示」ができないことはお伝えしました。そこで、コンテナに収容して実装したと上で書きましたが、その際にライトテーブルを「コピー」して「貼り付け」してみました。
そうするとこんなふうにアラートが出てしまいます。

そう、ライトテーブルは複製はできないんです。
どうやら、変更ストアはライトテーブルと1対1で関連付けられるので、複数のテーブルから1つの変更ストアに書き込むことはできないということらしいですね。

まとめ

以上、ライトテーブルのしくみを解説し、ライトテーブルの実装を試してみました。
ポイントは以下のとおりです。

  • ライトテーブルは、アプリ内ではなく、変更ストアという特殊な場所に保存される
  • 変更ストアに書き込まれたデータは90日で消失する
  • Qlikアプリと変更ストアはキーで関連付けられる
  • Qlikアプリで作成したライトテーブル単位で変更ストアが作成され、1対1で関連付けられる
  • ライトテーブルは複製できない

特に2つめの「90日で消失する」ことには対策しなければ使い物にならないので、90日以内に何とかしなきゃいけませんね。これは、次回、実際の実装例に基づいて、解説していきます。

そして、現状でも最低限、改善してほしいのは以下の2つです。

  • 「条件に応じて表示」できるようにしてほしい
  • 日本語入力(2バイト変換)の操作性を普通に使えるようにしてほしい

余計なことかもしれませんが、僕は何とかしてほしいな。
では、また!

関連記事はこちら
Qlikのライトテーブル(Write Table)に書き込んでみる 〜その2〜

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次