QlikView-ピーク関数
ザ・ peek() QlikViewの関数は、前のレコードからフィールドの値をフェッチして計算に使用するために使用されます。
入力データ
以下のような月間売上高を考えてみましょう。ファイル名monthly_sales.csvでデータを保存します。
Month,Sales Volume
March,2145
April,2458
May,1245
June,5124
July,7421
August,2584
September,5314
October,7846
November,6532
December,4625
January,8547
February,3265
スクリプトの読み込み
上記のデータは、スクリプトエディタを使用してQlikViewメモリにロードされます。[ファイル]メニューからスクリプトエディタを開くか、を押しますControl+E。を選択してくださいTable Files上記のデータを含むファイルのオプションfrom。ロードスクリプトを編集して、次のコードを追加します。クリックOK をクリックします Control+R データをQlikViewのメモリにロードします。
LOAD Month,
[Sales Volume],
peek('Sales Volume') as Prevmonth
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
シートオブジェクトの作成
作成しましょう Table Box上記のスクリプトによって生成されたデータを表示するシートオブジェクト。メニュー項目に移動しますLayout → New Sheet Object → Table Box。次のウィンドウが表示され、テーブルのタイトルが表示され、表示する必要のあるフィールドが選択されます。[OK]をクリックすると、以下に示すように、csvファイルのデータがQlikViewテーブルボックスに表示されます。また、以下に示すように並べ替え順序を設定して、フィールドと同じ順序で結果を取得しますMonth ソースにあるので。
上記の手順を完了してクリックすると Finish、以下のようなデータを示す[テーブル]ボックスが表示されます。
計算でのpeek()関数の使用
ザ・ peek()他の列を含む計算で使用できます。毎月の販売量の変化率を表示してみましょう。次のスクリプトは、この結果を実現します。
LOAD
Month, [Sales Volume],
peek('Sales Volume') as Prevvolume,
(([Sales Volume]-peek('Sales Volume')))/peek('Sales Volume')*100 as Difference
FROM
[C:\Qlikview\data\monthly_sales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
シートオブジェクトの作成
作成しましょう Table Box上記のスクリプトによって生成されたデータを表示するシートオブジェクト。メニュー項目に移動しますLayout → New Sheet Object → Table Box。次のウィンドウが表示され、テーブルのタイトルが表示され、表示する必要のあるフィールドが選択されます。[OK]をクリックすると、以下に示すように、CSVファイルのデータがQlikViewテーブルボックスに表示されます。