5/07/2017

Access。クエリでTOP5を抽出するにはどうしたらいいの?【TOP値】

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もより現場で使えるようになるといいですよね。