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テーブルボックスに表示されます。