東京もすっかり秋ですね。
僕は東京と札幌を行ったり来たりしているのですが、今月の初旬に札幌にいる間に秋を感じたくなり、札幌〜北見間をドライブ。
東大雪から上士幌町に抜ける十勝シーニックバイウェイはダイナミックな北海道の自然を感じられるお気に入りのルートです。特に三国峠は、夏であれば運が良ければ早朝に雲海を見ることができるし、秋にはどこまでも続く紅葉の森を一望できます。
僕が訪れた10月初旬は紅葉にはちょっと早いかなという時季でしたが、落ち葉が降ってくる中を思いっきり窓を開けて走りながら秋を感じてきました。
さて、今回は小ワザ中の小ワザですが、Qlikのボタンの機能を切り替えるというテーマで書いてみます。本当は別に書きたいことがあるのですが、ココを避けて通れなかったので小さいネタですみません!
レイアウトコンテナ(Layout container)って何?
2024年に「あれっ?こんなパーツが増えている」と気づいてから、Qlikのシートデザインでの細かいレイアウト調整でレイアウトコンテナには大変お世話になっています。特に便利だと思うのは
- グリッドに影響されない自由なサイズ調整ができる
- チャートを重ねて配置し、表示を切り替えることができる
- 複数のチャートを並べて表示し、まるごと切り替えることも可能
ということで、今回はこの「重ねて配置して表示を切り替える」という方法で、ボタンの機能を切り替えてみます。種明かしすると、ボタンそのものの機能が変わるわけじゃなく、使えるボタンを切り替えるという方法で、見た目、ボタンの機能が変わったように見える…という手法です。
他のシートに遷移するボタンを準備
「Sales Summary」と「Product Summary」という2つのシートがあるとします。今回は「Sales Summary」シートに「Product Summary」シートに遷移するボタンを作成します。
ボタンをシート上の任意の場所に配置し、
- ナビゲーション:シートに移動
- シート:Product Summary
- スタイルの基本設定のラベル:商品分析へ
と設定しておきます。

機能を切り替えるスイッチを作る
まず、変数を定義しておきます。
名前は vOnOff、定義は ONとしておきます。ここでONと定義しておくことで、デフォルト値は”ON”となります。

次にDashboard bundleの「Variable Input」で変数を切り替えるスイッチを作成します。

Variable Inputの設定は以下のとおり
| 設定項目 | 値 |
|---|---|
| Variable / Name | vOnOff |
| Variable / Show as | Buttons |
| Values / Fixed or dynamic values | Dynamic |
| Vakues / Dynamic values | ON|OFF |

違う機能のボタンを作成する
すでに作成済みの「商品分析へ」ボタンを複製して、ナビゲーションの上に「選択をすべてクリア」というアクションを追加します。これで2つめのボタンができました。

レイアウトコンテナを配置し、2つのボタンを組み込む
レイアウトコンテナをシート上の任意の場所に配置します(レイアウトコンテナはDashboard bundleにあります)。

次にレイアウトコンテナ内にボタンを配置します。ドラッグ&ドロップでもできるのですが、うまくいかないことがあるので、ボタンを右クリックしてコピーした後、レイアウトコンテナを右クリックして「貼り付け」します。

これでレイアウトコンテナ内に2つのボタンが格納されました。
レイアウトコンテナを選択すると、2つのコンテンツが表示されますので、ナビゲーションのみのボタンを以下のように設定します。
ラベル:「商品分析(OFF)」、条件の表示:vOnOff=’OFF’、幅:100%、高さ:100%、位置 X軸:0%、位置Y軸:0%

同様に「クリア→ナビゲーション」のボタンも同様に設定します。
ラベル:「商品分析(ON)」、条件の表示:vOnOff=’OFF’、幅:100%、高さ:100%、位置 X軸:0%、位置Y軸:0%
動作確認
ON, OFFのスイッチとなるボタンの左に「テキストと画像」でラベルを追加し以下のようなレイアウトのシートを完成させます。

「商品分析へ」というボタンをクリックすると「Product Summary」シートに遷移しますが、スイッチをON/OFFすることで、遷移する前に選択をクリアするかどうかを制御できるようになります。
まとめ
レイアウトコンテナができたことで、Qlikのレイアウトの自由度が爆上がりしました。変数を使って表示切り替えができるので、Webアプリみたいな動的なシートも作れるようになります。
レイアウトコンテナではなく、「タブ付きコンテナ」もありますよね。タブ付きコンテナにチャートを格納してタブ切り替えもできますが、タブ付きコンテナは非表示になっているチャートも裏で動いているので、データ量が多いアプリや特定のチャートで重い計算がされている場合に表示が遅くなったりします。
でも、レイアウトコンテナでは表示自体を切り替えるため、表示されているチャートでしか集計が走らないので、ストレスのない表示ができるのも魅力です。
ということで、今回の「Qlikでコピろー!」はレイアウトコンテナを使用した表示切り替えをご紹介しました。
ではまた!


