Qlik Trainingブログ

  • Qlik Cloud
  • Qlik Sense
  • QlikView
  • 開発者
  • 可視化・分析
2023.09.29

合計値が表示されない!

以下画像のように、合計値のみ意図した表示にならなかった経験はありませんか?

上記画像で合計値のみ『-』表示になってしまっている原因は、次のとおりです。
・設定している数式/メジャーが、最終的に集計されていない

同じ原因で、“合計値のみ、意図した数値にならない”といったケースが発生する場合もあります。

合計値以外の行には正しい値が表示されているのに『最終的に集計されていない』とは、どういうことでしょうか。
最終的に集計する方法と併せてご説明していきます!

目次

※本記事は「2023年09月時点のSaaS」で作成しています。

数式が処理される順番

基本的に数式は内側から処理されます。
本記事冒頭で載せた画像の数式は、次の順番に処理されています。

最初に処理されるのは、内側のSum関数です。Sum関数は集計関数です。
最後に処理されるのは、外側のIf関数です。If関数は条件分岐関数です。
If関数は条件分岐関数のため、最終的に集計されない数式になります。

数式全体としては「年」項目の値が'2020'の行に、Sum(売上)の結果を返す内容です。

合計値以外の「年」項目が'2020'の行には、Sum(売上)の結果が返ります。
合計値を返す行は「年」項目の値として'2020'と'2021'を持っているため、“「年」項目の値が'2020'の行”ではありません。
そのため、合計値以外は意図した表示になりますが、合計値には『-』が表示されます。

最終的に集計する方法

3つの方法が考えられます。操作が簡単な順に、a,b,cとして以下にご紹介します。
a.プロパティを変更する
b.関数の順序を入れ替える
c.集計関数を外側に加える

▼a.プロパティを変更する
 メジャーのプロパティにある[集計関数]プルダウンメニューは、デフォルトでは「自動」になっています。
 数式はそのままでも、こちらを「Sum」に変更することで、Sum関数で集計した結果を合計値に表示する
 ことができます。

▽変更箇所

▽変更後の表示結果

▼b.関数の順序を入れ替える
 数式を作ることに慣れている場合やアプリを共同編集している場合は、プロパティを変更して対応する
 ことに抵抗を感じる場合もあると思います。
 数式を以下のように変更することで、プロパティを変更せずに対応が可能です。
 変更後:Sum(If(年=2020,売上))

 上記数式は、以下の順番に処理されます。

 最初に処理されるのは、内側のIf関数です。If関数は条件分岐関数です。
 最後に処理されるのは、外側のSum関数です。Sum関数は集計関数です。
 Sum関数は集計関数のため、最終的に集計される数式になります。

 数式全体としては「年」項目の値が'2020'の行に「売上」項目の値を返した後、集計を行う内容です。

 合計値以外の行にも合計値を返す行にも、「年」項目の値が'2020'の行の「売上」項目の値(100,200)が
 返った後、集計されます。
 そのため、合計値以外も合計値も、意図した表示になります。

▽変更後の表示結果

▼c.集計関数を外側に加える
 数式が複雑で前述b.の対応ができない場合などは、集計関数を外側に加えることで、最終的に集計させます。
 なお、数式内で既に集計関数が使われている場合は、間にAggr関数を挟んで集計軸を定義する必要があり
 ます。単純に集計関数を重ねることはできません。

 ×Sum(If(年=2020,Sum(売上)))        ←構文エラーになります。
 ○Sum(Aggr(If(年=2020,Sum(売上)),担当,年))

▽変更後の表示結果

 Aggr関数は、引数に指定した項目ごとに値を集計するよう、軸を内部的に定義する関数です。
 詳細は以下の記事をご覧ください。
 ・Aggr関数再入門(Aggr関数の詳細と使用例)
  https://www.ashisuto.co.jp/qlik-training_blog/article/aggr-function.html

さいごに

前述【最終的に集計する方法】a.のプロパティで紹介した[集計関数]プルダウンメニューでは、SumだけでなくMax(最大値)、Avg(平均値)などの選択も可能です。

▼Maxを設定した際の表示結果

▼Avgを設定した際の表示結果

[集計関数]プルダウンメニューはよく使う関数が表示されるため、『数式を変更して対応できそうだが、取り急ぎ結果を確認したい』といった場面でも使える機能です。
数式で意図した結果が返らないときは、“基本的に数式は内側から処理される”ことと、[集計関数]プルダウンメニューについて思い出してみてください。

関連している記事

  • Qlik Cloud
  • Qlik Sense
  • 開発者
  • 可視化・分析
2024.11.27

Layout container を使って映えるダッシュボードを作成しよう!

「Layout container」を使えば、最新のQlikビジュアライゼーションでカスタマイズ性が高く、細やかなデザインの画面が作れます!

  • Qlik Cloud
  • Qlik Sense
  • 開発者
  • 可視化・分析
2024.10.30

マスター アイテムを駆使して、アプリ開発を効率化しよう!(その1)

Qlik Senseのアプリ内で同一の軸やメジャーを使い回したり、複数のチャートのメジャーを任意の色に揃えたいことはありませんか? 「マスター アイテム」の機能を使えば、これらを効率的に行えます! 今回はマスター アイテムに「メジャー」を登録して活用する方法を紹介します。

  • Qlik Sense
  • Qlik Cloud
  • その他
2024.10.24

Qlik Sense ビジネスアナリスト認定試験合格体験記~概要編~

【皆さんは、Qlikが提供している認定試験をご存知でしょうか。複数ある認定試験の中でも、Qlik Sense ビジネスアナリスト認定試験は日本語で受験可能です。今回は、Qlik Sense ビジネスアナリスト認定試験の受験者向けに、実際に試験を受験し合格した体験を報告します。

ページの先頭へ戻る