Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
marreon
Contributor II
Contributor II

チャートにおける計算について

現在、以下3つのテーブルがロードされ、①と②はアカウントID、②と③は品目でリレーションが貼られている状態です。

 

テーブル①=全アカウント登録データ

・アカウントID

・登録日

・年代

テーブル②=全購入データ

・アカウントID

・購入ID

・購入日

・品目

テーブル③=全販売品目データ

・品目

・発売日

 

このとき、ピボットを使用し、”2022年の登録者”における品目ごとの購入率「購入者数(distinct)/全登録者数(2022年登録)」を一つのテーブル内で実現したいのですが、全登録者数がうまくいきません。

なお、”2022年の登録者”の部分については、フィルタを使用し、21年、23年など流動的なものとしたいです。

ご教示お願いいたします。

 

 

1 Solution

Accepted Solutions
hka
Employee
Employee

下記で集計可能なはずです。

count(distinct Total <[年代]> [アカウントID])

View solution in original post

14 Replies
tts
Employee
Employee

Qlik SenseかQlikViewのどちらかをお使いでしょうか?

また、単純なサンプルアプリを添付されると、みなさんの理解の助けになると思います。

marreon
Contributor II
Contributor II
Author

Qliksenseを使用しております。

よろしくお願いいたします。

marreon
Contributor II
Contributor II
Author

※データ追加しました。

tts
Employee
Employee

選択状態によらず、軸ごとの全レコードの集計結果を得たい場合には、
Count(distinct [アカウントID]) や count(all <[年代]>distinct [アカウントID])
ではなく、
Count({1} distinct [アカウントID])
を利用してください。

参考: [set 分析]
https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalys...

marreon
Contributor II
Contributor II
Author

その方法ですと、軸である「品目」毎に集計されてしまうため、全登録者数が実現できません。(登録のみで購入を行っていない人が集計されない)

下記画像は、登録日を2022年で絞った場合に実現したい結果です。キャプチャ.PNG

tts
Employee
Employee

count(all <[年代]>distinct [アカウントID])
ではなく
count(ALL distinct [アカウントID])
にすれば、すべて5になりますね。添付の画像を参照してください。

tts
Employee
Employee

また、すべての行を表示させたい場合には、
count(all <[年代]>distinct [アカウントID])
ではなく
count(ALL <[アカウントID]> distinct [アカウントID])
を使用してみてください。添付の画像のようになります。

tts
Employee
Employee

添付されているエクセルの画像によると、2軸目の30代は、全登録者数は 0 になっていますが、そこは 0 で表示したいという事でしょうか? 20代が 3 なのは理解できますが。。。

marreon
Contributor II
Contributor II
Author

すみません、記載の仕方が悪かったのですが、年代軸およびフィルタの登録日は残して計算したいため、すべて5にするのではなく、20代なら3(2022年の登録者),30代なら0(2022年の登録者)、というように計算は可能でしょうか?

フィルタで2022年を選択した場合、

2022年各年代登録者のうち、品目を購入した人の数 / 2022年の各年代登録者数

を実現したいです。