QlikSense

QlikSenseでピボットテーブルに行合計を表示する方法

記事内に商品プロモーションを含む場合があります

ピボットテーブルで各列に集計データ(SumやCountなど)を表示している場合、さらにそのデータの行合計を表示する方法です。

ストレートテーブルの場合、行の合計・列の合計も割と簡単に表示できるのですが、ピボットテーブルの場合はひとひねり必要な部分もありますので、お困りの際は参考にされてくださいね!

ピボットテーブルを作成する

まずはベースとなるピボットテーブルを作ります。

今回は顧客IDを軸に、来店回数毎のポイントを表示しています

もちろん、顧客によって来店回数は異なります。

※サンプルデータがあまりよろしくなくてすみません(;^_^A

顧客ID
来店回数
メジャー ポイント(集計する場合はSum(ポイント)などの計算式)

行合計を表示する2つの方法

列の合計をONにする

列(今回の場合来店回数)の合計をONにすればOKです。

日本人的には合計は右端に表示したいのですが、仕様ですので仕方ありません。

この方法には2つ、難点があります。

  1. メジャーが集計値ではない場合の合計表示が正しくない
  2. 複数のメジャーがあるとき、合計を表示する項目を限定できない

メジャーが集計値ではない場合の合計表示が正しくない

あれ?合計が表示されない…。

メジャーが集計値でない場合(メジャー:ポイント)、合計が表示されませんでした。

基本集計値にすればいいので問題ないのですが、1列1行でユニークな場合わざわざ集計しなかったりするので注意が必要です!

複数のメジャーがあるとき、合計を表示する項目を限定できない

例えば、複数のメジャーを表示している場合、

例:来店日と接客担当者、来店ポイントなどを表示している

合計をONにすると、来店日や接客担当者の合計も表示します。項目を選んで表示することはできません。

aggr()関数を利用する

次に列として合計値を表示する方法です。

列の最後尾に「ポイント合計」という名前の項目を追加します。

項目にはAggr()関数をセットします。

=Aggr(sum([ポイント]), [顧客ID])

これでポイント合計を表示することができました。

Aggr()関数は計算式を軸として利用できる大変便利な関数です。

引数には計算式と軸を指定します。

こちらも方法にも1つだけ難点があります。

Aggr()関数の出力結果は文字列として表示される

表示された値が左寄せで表示されています。

この場合、データをEXCELなどにエクスポートすると、数値が文字列として保存されますので注意が必要です。

まとめ

いかがでしたか?私は2番目の対応方法が自由度が高くておすすめです。

お好みの方法でどうぞ♪

ABOUT ME
アズビーパートナーズ
プログラマー→社内SE→SIerのお仕事をしています。 メーカー勤務を経て、中小企業の社内SE、フリーランスなど様々な形態で働いてきました。 業務上生まれた困った…を解決してきたTipsを備忘録も兼ねて公開しています。 困っている誰かのお役に立てれば幸いです。