Access。クエリ。ランクSABCという順番で並べ替えしたい
<Access:クエリ Switch関数>
売上高によって、ランク分けしてあるテーブルがあります。
ランキングをみると、SABCと振り分けられていることが確認できます。
このランキングの列をSABCという順番で並べ替えをしたいのですが、どのようにしたらいいのでしょうか。
Accessには、Excelのような、ユーザー設定リストはありません。
並べ替え用の作業列をつくって、その作業列で並べ替えをするのでは、効率が悪化します。
そこで、Switch関数をつかったクエリをつくることで対応することができます。
では、作成タブのクエリデザインをつかって、クエリを作成します。
必要なテーブルフィールドを挿入します。
今回は、すべてのフィールドをつかうことにします。
作業列という演算フィールドをつくります。
作業列: Switch([ランキング]="S",1,[ランキング]="A",2,[ランキング]="B",3,[ランキング]="C",4)
並べ替えを昇順に設定します。
この段階でどのようなクエリになっているのか、実行して確認してみます。
ランキングはSABCの順番で並べ替えができています。
あとは、作業列を非表示にします。
そして、同じランキングの場合、売上高が降順のほうがわかりやすいので、それも含めて修正します。
デザインビューに戻ります。
作業列演算フィールドは並べ替えの条件で使用しているフィールドなので、表示を□にして非表示にします。
そして、売上高フィールドに降順にします。
なお、今回は、売上高に準じたランキングなので、問題はありませんが、Accessは左側の並べ替え設定に優先があります。
場合によっては、並べ替え用のフィールドを追加する必要があります。
では、実行して確認しましょう。
このように、ランキングSABC順で、売上高降順のクエリをつくることができました。
Switch関数は、複数の項目に番号付けを行うことができる関数なので、Sを1、Aを2というように番号付けをすれば、並べ替えは容易になるという仕組みです。