Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
April 13–15 - Dare to Unleash a New Professional You at Qlik Connect 2026: Register Now!
cancel
Showing results for 
Search instead for 
Did you mean: 
Ochanoko
Creator
Creator

【QlikSense】積み上げ棒グラフチャート と テーブルチャートで結果が異なる

お世話になります。
積み上げ棒グラフチャート と テーブルチャートで結果が異なるという問題が発生しております。

両チャートには以下の設定を行っております。
・軸:購入品,購入品コード ※「NULL値を含める」にチェック
・メジャー:Count(受付日)

棒グラフ側が80件ほど多く、間違いであることが分かっています。
なぜずれが発生するのでしょうか。
ご教授いただければ幸いです。

1 Solution

Accepted Solutions
hka
Employee
Employee

1対多の構造の場合、マスター側で重複して合致するものがあると
数値はその合致した分だけ増加します。
テーブルの場合は、重複を1つにまとめるので上手く出ている可能性があります。
テーブル側の数式をCount(受付日)ではなく、sum(aggr(count(受付日),購入品,購入品コード))にすると
重複をまとめずに合計値を表示しますので、確認してみてください。
データがないので確実なことは言えないですが、Count(受付日)をそのまま使うのであれば、
プライマリーキーと購入品キーを連結したキーを作成し、元テーブルと購入品テーブルを
1対1になるようにデータ構造を変えれば一致するようになると思います。

View solution in original post

8 Replies
hka
Employee
Employee

棒グラフ上で右クリックした際のデータ表示でも数値は違っていますか。

現象が出るサンプルアプリもしくは、サンプルデータは提供可能ですか。

Ochanoko
Creator
Creator
Author

データ表示の結果をCSV出力したものをアップロード致します。
CSV出力結果は、棒グラフチャート・テーブルチャート共に同じ結果だったため、片方だけのアップロードになります。
※2列目の値は本来複数種類あるのですが、全て「dummy」に置き換えております。

CSV上の受付数の合計が 2,165 であり、これは棒グラフ側の件数と一致します。
テーブル側の「合計」には 2,087 と表示されております。
テーブル側の値が正しいと思った根拠は、KPIチャートでも 2,087 と表示されているからなのですが、
どちらが正しいか分からなくなりました。

hka
Employee
Employee

countでの差を確認したいので、受付日の入ったデータを提供頂けますか

Ochanoko
Creator
Creator
Author

お世話になっております。
返信が遅れ申し訳ございません。
用いているデータの性質上、提出することができません。

購入品A,購入品Aコード,購入品B,購入品Bコード,購入品C,購入品Cコードというカラムをクロステーブルして、
プライマリキー,購入品ABC,購入品ABCコード という購入品テーブルを作成。
プライマリキーを用いて元のテーブルと関連付けています。

つまり、元テーブルと購入品テーブルは1対多の関係になります。
今回のチャートでは、購入品ABC,購入品ABCコードを軸として、
元テーブルのデータ数をカウントしている為、このあたりが原因で差異が発生していると予想しております。

なお、棒グラフの軸を 購入品ABC, 購入品ABCコード から、購入品ABC だけにすると
棒グラフとテーブルチャートの値が一致します。

tts
Employee
Employee

>用いているデータの性質上、提出することができません

お手数ですが、テクニカルサポートのケースに登録していただきますよう、お願いいたします。

また、利用されているQlik Senseは、オンプレ版(バージョン)でしょうか、クラウド版でしょうか?

hka
Employee
Employee

1対多の構造の場合、マスター側で重複して合致するものがあると
数値はその合致した分だけ増加します。
テーブルの場合は、重複を1つにまとめるので上手く出ている可能性があります。
テーブル側の数式をCount(受付日)ではなく、sum(aggr(count(受付日),購入品,購入品コード))にすると
重複をまとめずに合計値を表示しますので、確認してみてください。
データがないので確実なことは言えないですが、Count(受付日)をそのまま使うのであれば、
プライマリーキーと購入品キーを連結したキーを作成し、元テーブルと購入品テーブルを
1対1になるようにデータ構造を変えれば一致するようになると思います。

Ochanoko
Creator
Creator
Author

お世話になっております。
仰っておられる通りでした。

購入品A 購入品B が同じ品だった場合、以下の結果となりました。
・棒ブラフ側では2件としてカウント
・テーブル側では1件としてカウント

1対多 の多側である 購入品テーブル のカラムを軸としてカウントしているが為に、
棒グラフでは重複分もカウントされていると理解しました。
データの関連付けをしっかりとイメージできていないと駄目ですね。

Aggrはテーブル側で試してみたところ、棒グラフ側と件数が一致しました。

ご回答頂き誠にありがとうございました。

Ochanoko
Creator
Creator
Author

今回の件について、仕様確認用のアプリを作成しました。
同様の問題を抱えている方向けに、共有しておきます。