Qlik Trainingブログ

  • Qlik Cloud
  • Qlik Sense
  • 開発者
  • 可視化・分析
2024.12.27

テーブルで任意の列や行を表示できるようにしたい!

みなさん、テーブルやピボット テーブルは使っていますか?Qlik Senseでシートを作成するときの定番のチャートですよね。

でもテーブルチャートだと、一部のデータのみ確認したい場合や、ユーザーごとに違うデータを確認したい場合に、スクロールが大変!なんてこともあるのではないでしょうか。

今回は、テーブルに表示する列や行を、シート上で選択できるようにする方法をご紹介します!

目次

※本記事は「2024年12月時点のSaaS」で作成しています。

使用するデータ

今回は以下のデータを使用します。

▼軸
・店舗
・商品大分類
・商品名
・商品コード

▼メジャー
・売上個数:Sum(個数)
・売上金額:Sum(単価*個数)

[テーブル]の場合

まず、[テーブル]で表示する列を選択できるようにする方法をご紹介します。

テーブルの場合、使用するチャートを変更することで、簡単に実現が可能です。
通常、[チャート]-[テーブル]を使用すると思いますが、代わりに[カスタム オブジェクト]-[Qlik Visualization bundle]にある[Straight table]を使用します。

▼作成手順
1) シート編集画面を開きます。
※画面右上の[詳細オプション]がオフになっている場合は、クリックしてオンに変更します。
緑になっていればオンの状態です。

2) 画面左側[カスタム オブジェクト]-[Qlik Visualization bundle]をクリックします。

3) [Straight table]をドラッグし、シート上に配置します。

 ※既に配置されているテーブル]を[Straight table]に置換することもできます。
  その場合、シート上に配置されている[テーブル]の上に[Straight table]をドロップし、[以下に置換:Straight table]を選択します。

  [テーブル]から[Straight table]にした場合、以下 4) から 13) の手順はスキップして問題ありません。

4) [列の追加] をクリックし、[項目とマスター アイテム] を選択します。

5) [軸]タブで、テーブルに追加する軸項目を選択します。

6) [メジャー]タブで、メジャーとして追加する項目と集計関数を指定します。
  ここでは、項目「個数」を集計関数「Sum」で追加します。

7) 追加したい軸やメジャーの追加が終わったら、右下の[追加]をクリックします。

8) 数式を使用した軸や、数式を記述してメジャーを追加する場合、追加した[Straight table]を選択し、画面右側 [データ] をクリックします。

9) [列]の右側にある[+] をクリックし、[カスタム数式]をクリックします。

10) [タイプ]から「軸」または「メジャー」を追加し、[fx]をクリックします。
  ここでは「メジャー」を追加します。

11) 数式を指定し、[適用]をクリックします。

Sum(単価*個数)

メジャーを追加できました!

12) メジャーのラベルを変更します。
  [データ]タブで、ラベルを変更したいメジャーをクリックします。

13) 表示されるプロパティ画面の[項目]をクリックして展開し、表示したいラベル名を[ラベル]に指定します。

14) [スタイル]-[チャート探索]をクリックします。

15) [チャート探索を有効にする]をクリックし、有効にします。
  緑になっていれば有効の状態です。

上記の手順で設定が完了したら、シートの編集を完了して分析画面を開きます。
分析画面を見ると、[Straight table]の左側にチャート探索が表示されていますね。

チャート探索のチェックボックスにあわせて、表示される列が切り替わります。

チャート探索の、点が長方形に並んでいる部分(青枠の部分)にマウスポインターを置き、ドラッグアンドドロップすることで、列の順番を変更することもできます!

[ピボット テーブル]の場合

[ピボット テーブル]の場合は、[Straight table]のように代わりになるチャートがないため、実装に少しテクニックが必要になります。

今回は、以下の[ピボット テーブル]に設定されている「売上個数」「売上金額」メジャーの表示/非表示を選択できるようにしていきます。

なお、本ブログでは、[カスタム オブジェクト]ではなく[チャート]にある[ピボット テーブル]を使っています。

[ピボット テーブル]のを例に手順を説明していきますが、の表示/非表示の選択も、同じ手順で設定することができます。ぜひ、分析しやすいように設定してみてください!

設定の流れとしては以下の通りです。

 1. 選択用の項目を用意する
 2. 表示する列や行を選択できるようにする

それぞれの手順を紹介していきます。

選択用の項目を用意する

まず、[データ ロード エディタ]で選択用の項目を作成します。
ここで作成した項目を[フィルター パネル]で選択することで、表示する列や行を選択します。

1) アプリを開き、[データ ロード エディタ] を開きます。

2) データを取り込んでいるスクリプトの最後に、以下のようなスクリプトを追記します。

Load * Inline [
フィルター項目
売上個数
売上金額
];

※インラインロードを使用して「フィルター項目」という項目を作成しています。
 インラインロードについては以下のブログで紹介していますので、あわせてご確認ください!

 アプリ内にデータを埋め込む!インラインロードで簡単データ作成

3) データをロードします。

4) [データ モデル ビューア]で確認すると、新しく項目ができていることを確認できます。これで、選択用の項目の作成は完了です。

表示する列や行を選択できるようにする

次に、表示する列や行を選択できるように設定していきます。

1) シート編集画面を開きます。
 ※画面右上の[詳細オプション]がオフになっている場合は、クリックしてオンに変更します。
  緑になっていればオンの状態です。

2) [ピボット テーブル]を選択し、画面右側[データ]を開きます。

3) [メジャー]にある「売上個数」を選択して展開します。

4) [条件に応じて列を表示]の[fx]をクリックします。

5) 以下のような数式を指定し、[適用]をクリックします。

=If( GetSelectedCount(フィルター項目)=0 or SubstringCount( GetFieldSelections(フィルター項目,',',20) ,'売上個数')>0 ,true(),false())

<解説>
――――――――――――――――――――――――――――――――――
[条件に応じて列を表示]は、指定した条件が満たされる場合のみ列を表示します。
ここでは、以下の条件を指定しています。

 ・ GetSelectedCount(フィルター項目)=0
  「フィルター項目」から選択している項目値の数が0である、という条件です。

 ・ GetFieldSelections(フィルター項目,',',20)
  「フィルター」項目から選択している項目値を、カンマ区切りで羅列します。
  GetFieldSelections関数では、何も指定しない場合選択している項目数が7個以上になると項目値が羅列されず、省略されてしまいます。
  そのため数式例では、『20』を指定することで7個以上の項目値を選択しても項目値が返されるように指定しています。指定する数字は、使用するデータに合わせてご変更ください。

 ・ SubstringCount( GetFieldSelections(フィルター項目,',',20) ,'売上個数')>0
  「フィルター項目」で選択している項目値に、文字列’売上個数’に一致するものがある、という条件です。
  ここで、'売上個数'の部分には「フィルター項目」で指定した名前を指定します。

上記の条件を「or」で指定することでどちらか一方の条件が満たされる場合に列が表示されるようになります。
具体的には、「フィルター項目」から何も選択していないときか、「フィルター項目」から’売上個数’を選択している場合に列が表示されます。
――――――――――――――――――――――――――――――――――

6) 続けて、[メジャー]にある「売上金額」を選択して展開します。

7) [条件に応じて列を表示]の[fx]をクリックします。

8) 以下のような数式を指定し、[適用]をクリックします。
  手順5)では’売上個数’を指定していたところに、’売上金額’を指定します。

=If( GetSelectedCount(フィルター項目)=0 or SubstringCount( GetFieldSelections(フィルター項目,',',20) ,'売上金額')>0 ,true(),false())

9) 他にも選択を行いたい列がある場合には、6)から8)の手順を繰り返して[条件に応じて列を表示]を設定します。

10) 画面左側の[チャート]から[フィルター パネル]をシート上に配置します。

11) [追加]をクリックし、「フィルター項目」を追加します。

12) 操作しやすいよう、[ピボット テーブル]や[フィルター パネル]の位置を調整します。

上記の手順で設定が完了したら、シートの編集を完了して分析画面を開きます。
「フィルター項目」から何も選択していない場合は、以下のように2つの列両方が表示されています。

「フィルター項目」から’売上個数’を選択してみましょう。
「売上金額」の列が非表示になり、「売上個数」の列のみが表示されましたね!

さいごに

いかがでしたでしょうか。
今回はテーブルに表示する列や行を、シート上で選択できるようにする方法をご紹介しました。

表示する列の選択や並び替えはシート上で行うことができるので、ユーザーが自由に変更できます。Analyzerライセンスのユーザーも変更可能です。

また、表示する列の選択を行った状態で、データをエクスポートすることもできます。ユーザーごとに必要なデータのみをエクスポートすることができて便利なので、ぜひご活用ください!

執筆者情報:

株式会社アシスト北海道 テクニカルサポート部

2021年に新卒入社し、Qlik製品のサポートを担当しています。
お客様にご満足いただけるサポートができるよう日々奮闘中です。

読書・ゲーム好きのため、肩こりに悩まされています。姿勢に気を付けたいです。

関連している記事

  • Qlik Cloud
  • Qlik Sense
  • 開発者
  • データロード
  • 可視化・分析
2025.01.30

Qlik Senseで前年同月のデータを求めてみよう!

Qlik Senseで分析を行う際、前年同月のデータを使って比較をしたいと思ったことはありませんか?

  • Qlik Cloud
  • Qlik Sense
  • QlikView
  • 開発者
  • データロード
2025.01.22

先行ロードを使用してスクリプトを短くまとめよう!

先行ロードの機能を使用すると、すぐ下に記載されたLOAD文の結果をデータソースとして、上のLOAD文で使用することができます。

  • Qlik Cloud
  • 運用者
  • その他
2024.12.24

モニタリングアプリで現状をチェックしてみよう-Qlik Cloud編

Qlik Senseでは運用状況を効率的に把握するための 便利なモニタリングアプリが用意されています。 モニタリングアプリの使い方をご紹介いたします。

ページの先頭へ戻る