Access。クエリでTOP5を抽出するにはどうしたらいいの?
<Access TOP値>
次のクエリがあります。
『金額の合計』が100,000以上のデータを抽出したいという条件ならば、
>=100000ということで、
何の問題もなくデータを抽出することが可能ですよね。
【TOP5を抽出したいけど…】
しかしながら、このようなデータの中から、「TOP5のデータを抽出したい」という場合はどうしたらいいのか?
というケースに関してご紹介していきます。
抽出条件にどのように記載するのかを考えるところですよね。
まさか、目視で、TOP5になる数値を見つけて、
その数値を使って抽出するなんてことは基本的にデータが多すぎて、
出来ません。
Excelだったら、RANK.EQ関数を使ってみるとか、
LARGE関数を使ってみるなど色々なアプローチがあるのですが、
ランキングを算出するのもAccessではどうしたらいいのか?
ということもありますよね。
なかなか、Accessだと、Excelのようには出来ないケースも多いようです。
なお、Accessでのランキングを算出する方法は、後日紹介する予定です。
実は、それほど難しくなく、TOP5を抽出することが出来るのです。
では、デザインビューにして、
『金額の合計』のフィールドをクリックしておきます。
最初に、並び替えを『降順』にします。
これを忘れてしまうと、単純に上から、5件のデータを抽出してしまいます。
それと、今回はベスト5ですが、
ワースト5にしたい場合や、徒競走やゴルフなど数値が低いほうが、
”成績がいい”場合などは、『昇順』にしておく必要があります。
念のため確認ですが、データはこのようになっています。
デザインビューに戻しておきます。
TOP5を抽出するには、デザインタブのクエリ設定にある、
トップ値を設定していきます。
今回は、TOP5なので、「5」にします。
それでは、データシートビューにして抽出されている結果を見てみましょう。
このように『金額の合計』のTOP5を抽出することが出来ましたね。
もし、15とかのケースならば、
15とボックス内で入力すればTOP15を抽出することが出来ます。
リボンにトップ値が用意されていますが、
プロパティーシートにも、トップ値の欄がありますので、
そこで設定をしても同じ結果になりますので、
プロパティーシートにもあることを知っておくといいかもしれませんね。
今回は、データの中から、TOP5のデータを抽出する場合には、
『トップ値』を使う事で求めることが出来る事をご紹介しました。
AccessはExcelと異なった方法で算出・抽出するケースがありますので、
ExcelもAccessもより現場で使えるようになるといいですよね。