この記事は、BIツール導入支援及びDWH構築支援を15年以上続けてきたINSIGHT LABの中の人が書いています。
この記事は、QlikView(クリックビュー)で動的更新(ダイナミック更新)する方法についてご紹介させていただきます。
動的更新(ダイナミック更新)とはリロードが完了した後、ボタンなどのオブジェクトを使って、一部分を更新していくことです。
この記事では動的更新(ダイナミック更新)を実装していきます。
まずはデータの準備をします。
今回はこちらで用意したExcelデータを使っていきます。
以下よりExcelファイルをダウンロードしてください。
ダウンロードが完了したら、Qlikviewを開きます。
初めに【ドキュメントプロパティ】を開きます。
【動的データ更新を有効にする】にチェックが入っているか確認をします(入っていない場合はチェックを入れます)
次に、ロードスクリプトを開きます。
【テーブルファイル】から、先ほどダウンロードしたExcelファイルを読み込みます。
テーブル名を「製品情報」に変更します。
変更が完了したら、リロードをします。
最初にストレートテーブルを作成します。
【シートオブジェクト】の追加から、【チャート】を選択します。 【チャートの種類】から「ストレートテーブル」を選択します。
【軸項目】に「ID」「年」「月」「商品」を追加します。
【ラベル】を「売上」にして、【定義】を「=sum(売上)」にします。 【OK】を押します。
ストレートテーブルが完成しました。
入力ボックスを使って、ストレートテーブルの1項目のみを変更していくようにしていきます。
変数を設定します。
ツールバーの【設定一覧】から【変数一覧】を開きます。
【追加】を押して、以下の4つの変数を作成します。【値】は入力しません。
1.vYear
2.vMonth
3.vSales
4.vProduct
追加できたら、【OK】を押します。
次に入力ボックスを作成していきます。
【シートオブジェクトの追加】から、【入力ボックス】を選択します。
「vYear」を追加します。
追加が完了したら、【OK】を押します。
入力ボックスが作成できました。
同じ手順で変数の分、入力ボックスを作成します。
完成したら、位置を調整します。
次に「更新準備」ボタンと「更新」ボタンをそれぞれ1個づつ作成していきます。
【シートオブジェクトの追加】から、【ボタン】を選びます。
【テキスト】は「更新準備」と入力をします。
【アクション】タブを選択し、【追加】を押します。
アクションの種類から【その他】を選択し、アクションから【変数の設定】を選択します。
【変数】と【値】に以下を入力します。
変数…vYear 値…=年
こちらも同じように変数の数だけ、設定をしていきます。
変数…vYear 値…=年
変数…vMonth 値…=月
変数…vSales 値…=売上
変数…vProduct 値…=製品
追加したら、【OK】を押します。
更新準備ボタンが完成しました。
IDを選択して、更新準備ボタンを押すと年、月、製品、売上がそれぞれ格納されます。
続いて「更新」ボタンを作成していきます。
「更新準備ボタン」を作成するところまで終えましたので、ここからは「更新ボタン」を作成していきます。
【シートオブジェクトの追加】から【ボタン】を選択します。
【テキスト】に「更新」と入力しましょう。
次に、【アクション】タブを選択し、【追加】ボタンを押します。
【アクションの種類】から【その他】を選択し、【アクション】から【動的更新】を選択します。
【動的更新】を選択すると【Statement】という入力項目が出てきますので、そこに以下の式を入力します。
=If(GetPossibleCount(ID)=1,'Update 製品情報 Set 年='& Chr(39) & '$(vYear)'& Chr(39) & ', 月='& Chr(39) & '$(vMonth)' & Chr(39)& ', 製品='& Chr(39) & '$(vProduct)' & Chr(39)& ', 売上='& Chr(39) & '$(vSales)'& Chr(39)& ' Where ID = '&Max(ID) &';')
入力できたら、【OK】を押します。
【更新】ボタンが完成しました。
最後にリストボックスを作成します。
【リストボックスの追加】を選択します。
【項目】タブから「ID」を追加して、【OK】を押します。
以上で完成しました。
変更したいIDを選択して、「更新準備」を押します。
※ここでは4を選択しました。
IDの値が入力ボックスに格納されるので、変更したい入力ボックスの値を変えます。
「更新」ボタンを押すと、入力ボックスの値が更新されて、チャートに反映されました!
今回の記事は、以上です。