Skip to main content
Kazuya Niikura preguntó en Japan

お世話になっております。

箱ひげ図(ジッターチャート)のシートに対して、表計算のランクを用いたフィルターを設定したいと考えています。

現在サンプルスーパーストアのデータを用いて、製品名ごとに売上の箱ひげ図(顧客名を詳細に配置)を表示しています。

 

この箱ひげ図に対して、利益の上位20の製品名を表示するフィルターを設定したいです。​

現状は、Excludeで顧客名を除いて集計した計算式をランクに用いてフィルター行っていて失敗しています。

他のフィルターが適用された後で利益のランクでフィルターを行うために、表計算を用いてフィルターを行いたいと考えています。​

お手数をお掛けしますが、宜しくお願いいたします。

2 respuestas
  1. 6 jul 2021, 09:56

    上位Nフィルタを掛けて、先に反映したい他のフィルターをフィルターをコンテキストに入れてしまうのが早いような気がしますが、表計算で実現したいということなのでやってみましょう。いくつか計算式を書かないといけないですが、概ね次のような手順で計算することができます。​

    1) まずは製品ごとの利益の合計を計算。各種フィルターを反映させた結果からランクを計算したいということですが、Excludeを使ってもWINDOW_SUMを使ってもよいです。但し、表計算フィルタを反映したい場合はExcludeでは対処出来ませんので、その場合はWINDOW_SUMなどの表計算を使うことになります(実際のビューの具体的な要件によって式が変わってきます)。せっかくExcludeを使ってみようということなので、ここではExcludeを使います。

    上位Nフィルタを掛けて、先に反映したい他のフィルターをフィルターをコンテキストに入れてしまうのが早いような気がしますが、表計算で実現したいということなのでやってみましょう。いくつか計算式を書かないといけないですが、概ね次のような手順で計算することができます。​​1) まずは製品ごとの利益の合計を計算。各種フィルターを反映させた結果からランクを計算したいということですが、Excludeを使ってもWI

    2) 次に、各製品の複数あるマーク(顧客名の数だけある)のうち、最初の1つのマークだけにその利益の金額を反映させます。これを行わない場合、同じ製品内のひとつひとつのマークに同じ金額が割り当てられ、同率N位の重複が多く出てランクの計算ができなくなるためです。したがって、ここでは「製品ごとに1つだけしか利益の数字を持たない」という状態にします。次を使用して計算では顧客名を選択します。

    キャプチャ

    3) ここでようやくランクの計算を行います。各製品には1つだけ利益を持ったマークがあり、それ以外のマークは利益の金額がNULLでランク計算から除外されますから、私達が期待するような製品ごとのランクを求めることができます。ランクの計算は顧客名や製品を横断する必要がありますから、次を使用して計算では製品名と顧客名にチェックを入れます。

    キャプチャ

    4) 前のステップで製品ごとのランクが計算できますが、その計算結果は各製品の最初のマークにしか付いていません。このままランクでフィルターを掛けると製品ごとに1つのマークしか出てこなくなりますので、同じ製品内の全てのマークに、先程計算したランクの情報を還元してあげる必要があります。ここではWINDOW_MAXを使ってそれを全マークに反映させます(WINDOW_MINでもいいです)。次を使用して計算は顧客名のみを指定します。

    キャプチャ

    これでビュー上の全てのマークに製品ごとのランクが付与されますから、あとは4番目のフィールドを使ってフィルターを掛ければ、任意の上位N品目を取り出すことが出来ます。

    キャプチャ

0/9000