ここでは、RangeSum関数を使って以下の様な形の累積グラフを作成する方法をご紹介します。
このエントリでは、「前月比や前年比、成長率などの算出-Above, Before」と「移動期間合計や移動期間平均の算出–RangeSum, RangeAvg」のエントリでご紹介したAbove関数とRangeSum関数を利用しますので、そちらをまだ読まれていない方はまずそちらをご参照ください。
サンプルデータを利用して、ご説明する操作を実際に試して頂くことができます。以下のリンクからサンプルデータをダウンロードし、ダウンロードしたZIPファイルを任意の場所に解凍してください。
そして、新規アプリを作成してダウンロードしたZIPファイルに含まれるファイルを取り込んでください。
「移動期間合計や移動期間平均の算出–RangeSum, RangeAvg」のエントリでは過去12ヶ月分の売上を表示するために以下の形でRangeSumとAboveを利用しました。
RangeSum(Above(Sum([売上]),0,12))
上記Above関数の引数の「0」は自分自身のレコードを示しており、自分自身のレコードを含めて2つ目の引数に指定されている「12」個分上の範囲に位置するSum([売上])の集計値(つまり過去12カ月分の集計値)を合計するということを行っていました。
今回の累積グラフも以下の形で基本的に同じ手法を取りますが、一か所だけRowNo()の関数を利用している部分が異なります。
RangeSum(Above(Sum([売上]),0,RowNo()))
RowNo()は以下の形でレコードの行数を返しますが、この関数を先ほどの「12」の代わりに指定しています。そうすると、例えば10行目では10個分、20行目では20個分上の範囲に位置する集計値を合計するということになりますので、1行目からの全ての値を合計するということを行う形となります。
軸の絞り込みや、2軸での対応については「移動期間合計や移動期間平均の算出–RangeSum, RangeAvg」のエントリでご説明したものと同じことがここでも適用されます。
一点注意が必要なのは、2軸を利用して以下の形で「年」を跨いで集計するためにTotalを利用する場合、RowNo(Total)という形でRowNo()の中にもTotalを指定する必要があります。
RangeSum(Above(Total Sum({$<年月>}[売上]),0,RowNo(Total)))
以上、Qlik Senseで累積グラフを作成する方法をご紹介しました。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.