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.04.24

Qlik Cloud 日本リージョンへの移行方法(qlik-cli利用時の注意点)

先日、本ブログにて、日本リージョンへテナントを移行する方法の全体像をご紹介しました。今回は、コマンドラインのqlik-cliを用いたテナント移行時の注意点と、コマンドやスクリプトの記述例をご紹介します。

  • Qlik Sense
  • Qlik Cloud
  • 開発者
  • 運用者
2024.04.17

Qlik Application Automation活用術:Microsoft Teamsにメッセージを配信する

Qlik Sense SaaSを使用していて、メジャーの結果と事前に設定した閾値を比較して、閾値を超えたら通知を飛ばせたら良いな、と考えたことはありませんか?本記事では、Qlik Sense SaaSの「Qlik Application Automation」でMicrosoft Teamsにメッセージを配信する方法を紹介します。

  • Qlik Cloud
  • Qlik Sense
  • 運用者
2024.04.01

Qlik Cloud 日本リージョンへの移行方法

2024 年 3 月 26 日に QlikTech 社より Qlik Cloud の日本リージョン開設の ニュースリリースが発表されました。本ブログではすでに Qlik Cloud(Qlik Sense Enterprise SaaS) をご利用中のユーザー様に向けて、日本リージョンへテナントを移行する方法をご紹介します。

ページの先頭へ戻る