ytkd
1
フィルターの有無にかかわらずカテゴリごとに集計する方法を知りたいです。
例として以下のようなデータがあるとします。
国 |
記号 |
日本 |
a |
日本 |
a |
日本 |
b |
中国 |
a |
中国 |
a |
中国 |
b |
中国 |
b |
アメリカ |
a |
アメリカ |
a |
アメリカ |
a |
アメリカ |
b |
アメリカ |
c |
このデータをもとに下記画像の①ようなテーブルを作成しました。
(国ごとのカウントはcount(記号,[国])のように LAC-A関数を使って計算しています)
その後フィルターでaのみに絞った場合現状②のようなテーブルになるのですが、
③のように国ごとのカウントをフィルターに左右されないようにカウントにしたいです。
ytakahr
2
@ytkd さん、ご質問ありがとうございます。
countOver関数を使い計算レベルをPRE_FILTERに指定することでご要望の計算が実現できます。
max(countOver(記号, [国], PRE_FILTER))
お試しいただけますでしょうか。よろしくお願いいたします。
ytkd
3
@ytakahr さま
ご回答ありがとうございます。
試してみて、やりたい表現を行うことが出来ました。
この度はご回答ありがとうございました。
1 Like
ytkd
4
@ytakahr さま
一点追加でご質問させていただきたいのですが、日ごとのフィルターのみ有効にすることは可能でしょうか。
上記の例で言うと「国ごとのカウントカラム」は記号によるフィルターは無効にしつつ、日程のみフィルターで絞り本日のみのデータにしたいです。
お手数をおかけしますが何か解決策がある場合お教えいただけると幸いです。よろしくお願いいたします。
ytakahr
5
@ytkd さん、ご質問ありがとうございます。
以下画面ショットの一番左のテーブルのように日付のカラムを付けました。この日付を本日の日付(2025/2/28)に絞っても、国ごとのカウントは引き続き国単位の記号の件数(日本なら3)を表示したいものと理解しましたが、もし認識齟齬があればご指摘ください。
結論から申し上げると、特に上記の計算フィールドに修正を加えなくてもそのままご利用いただけます。
一番右側のテーブルは実際に日付を本日に絞り込むフィルターを適用していますが、ご紹介した計算フィールドは計算レベルがPRE_FILTERのため、日付フィールドの適用前に計算が行われており、結果として国ごとのカウントは変わらず表示されます。
こちらでご期待に沿いますでしょうか?
1 Like
ytkd
6
@ ytakahrさま
ご回答ありがとうございます。
説明不足で申し訳ございません。
日付を本日で絞った際に、日付のフィルターは有効かつ国単位の記号のフィルターは無効(フィルター適応前に計算)にし"国ごとのカウント"の計算を行いたいです。
上記画像の青枠で囲んだように集計を行いたいです。
拙い説明となり大変申し訳ございません。 不明点がございましたらご質問いただけると幸いです。
お手数をおかけしますがよろしくお願いいたします。
ytakahr
7
@ytkd さん、ご説明ありがとうございます。やりたいことが理解できました。
その場合ですと、以下のように計算フィールドを修正してあげればできるかと思います。
max(countOver(記号, [国, 日付], PRE_FILTER))
パーティション部分に日付を追加しており、国および日付の組み合わせ範囲内において記号の数を数えるようにしています。
念のため、こちらでご期待の挙動となっているか、実際のデータでお確かめください。