お問い合わせ
3 分で読むことができます。

Qlik Senseのデータロードで月ごとに集計する

2024年11月01日

はじめに

Qlik Senseで期間ごとに集計したい!

元データが大きいのでデータロードで集計をすませておきたい!

そんな時に使える集計方法をご紹介いたします。

月ごとの集計

月ごとの集計値を出すために「年月カレンダー」テーブルと「年月」カラムを用意し、年月ごとに集計を行っていきます。

事前準備:
元データとして、日付([Date])と販売数([Quantity])を持つテーブルを用意しました。

 

このデータを下記の手順で処理していきます。

  1. 販売数テーブルに「販売年月」を持たせる
  2. 「年月カレンダー」を作成する
  3. 「年月カレンダー」の年月を用いて、「販売年月」ごとに販売数を集計する

1.販売数テーブルに「販売年月」を持たせる

はじめに、元データを「販売数」テーブルとしてロードする際、「販売年月」カラムを追加します。

 
販売数:
LOAD
    Date(Date#([Date], 'YYYY/MM/DD')) AS 販売日,
    Date(MonthStart(Date#([Date], 'YYYY/MM/DD')), 'YYYY/MM') as 販売年月,
    [Quantity] as 販売数
 FROM [lib://DataFiles/TesData.csv]
(txt, utf8, embedded labels, delimiter is ',', msq)
where Len(Trim(Date))<>0;
 

このようなデータになります。

 

2.「年月カレンダー」を作成する

次に、年月ごとのカレンダーを作成します。
販売数テーブルの最小販売日~最大販売日の期間のみ作成されるようにしたいと思います。

最小販売日と最大販売日を取得して年月に直し、変数に格納します。

//最小販売日を取得
Min販売日:
Load 
  Min(Floor(販売日)) as Min販売日
Resident 販売数;
 
//最大販売日を取得
Max販売日:
Load 
  Max(Floor(販売日)) as Max販売日
Resident 販売数;
 
//最小販売日と当日日付(最大販売日)を変数に格納
Let vMinDate = FieldValue('Min販売日', 1);
Let vMaxDate = FieldValue('Max販売日', 1);

 

作成した「最小販売日」と「最大販売日」を用いてカレンダーを作成します。
この後のループ処理の都合上、日付を月初で固定した「年月月初」を持たせています。

//最小販売日~最大販売日間のカレンダーを作成
年月カレンダー:
Load
    AddMonths(MonthStart(Date($(vMinDate),'YYYY/MM/DD')),IterNo()-1) as [年月初日]
AutoGenerate 1
While AddMonths(MonthStart(Date($(vMinDate),'YYYY/MM/DD')),IterNo()-1) <= MonthStart(Date($(vMaxDate),'YYYY/MM/DD'));
 
 

年月カレンダーができました。

 

3.「販売年月」ごとに販売数を集計する

最後に、「年月カレンダー」の「年月初日」を用いて、「販売年月」ごとに販売数を集計していきます。

//年月ごとに集計処理
Let vMaxIter = NoOfRows('年月カレンダー'); 
For i=1 to $(vMaxIter)
    Let vDate = FieldValue('年月初日', $(i));
 
    月別販売数:
    Load
        販売年月,
        Sum(販売数) as 月別販売数
    Resident 販売数
    Where 販売年月 = '$(vDate)'
    Group By 販売年月;
Next
 
Drop Table Min販売日, Max販売日, 年月カレンダー;

 

販売数が年月ごとに集計されました!

 

おわりに

今回は年月での集計をご紹介しましたが、集計範囲次第で週や年での集計も可能です。

Qlik Senseはデータロード機能を持つため、データ量が多くシートの負荷を削減したい場合にデータロードでの加工に切り替えられるなど、選択肢が広くなっております。

当記事がみなさまの参考になりましたら幸いです。

Eimy

Written by Eimy

Qlik_No1_2022
QSナレッジ事例バナー
DXバナー
Qlikseminar
qs_trial
Qllikseminar
Vizlibナレッジ
Vizlibセミナー
qv_knowledge
book_kawaii
Snowflake_バナー

新着記事

タグ別の記事

全て表示