Partition 関数

計算された一連の範囲内で値が出現する場所を示す Variant (String) を返します。

構文

Partition( number, start, stop, interval)

Partition 関数構文の引数は次のとおりです。

引数

説明

number

必須。範囲に対して評価する整数です。

start

必須。数値範囲全体の最初の整数です。0 より小さい値は指定できません。

stop

必須。数値範囲全体の最後の整数です。start 以下の値は指定できません。

interval

必須。数値範囲全体 (start から stop まで) の中の区画のサイズを指定する整数です。


解説

Partition 関数は、数値範囲全体の中で number が含まれる特定の範囲を特定し、その範囲を示す Variant (String) を返します。Partition 関数は、クエリで最も役に立ちます。たとえば、さまざまな範囲 (1 から 1000、1001 から 2000 など) に含まれる注文の数を示す選択クエリを作成できます。

次の表は、startstopinterval の 3 つの引数のセットを使って範囲が決定される方法を示したものです。"最初の範囲" 列と "最後の範囲" 列は、Partition が返す値を示します。範囲は、lowervalue:uppervalue で表されます。範囲の下限値 (lowervalue) と範囲の上限値(uppervalue) はコロン (:) で区切られます。

start

stop

interval

最初の範囲より前

最初の範囲

最後の範囲

最後の範囲より後

0

99

5

" :-1"

" 0:4"

" 95:99"

" 100: "

20

199

10

" :19"

" 20:29"

" 190:199"

" 200: "

100

1010

20

" :99"

" 100:119"

" 1000:1010"

" 1011: "


上の表の 3 行目は、startstop によって定義される範囲が interval によって均等に分割できない場合の結果を示します。最後の範囲は stop に達していますが (11 個の値)、interval は 20 です。

Partition は、コロンの左右の文字数が等しくなるように (stop の文字数より 1 だけ大きい文字数)、必要に応じて先頭にスペースを追加して返します。これにより、Partition を他の値と共に使った場合でも、結果のテキストは以降の並べ替え操作の間に正しく処理されます。

interval が 1 の場合は、start 引数と stop 引数に関係なく、範囲は number:number になります。たとえば、interval が 1、number が 100、stop が 1000 の場合、Partition は " 100: 100" を返します。

いずれかの引数が Null の場合、PartitionNull を返します。

この例では、Freight フィールドを含む Orders テーブルがあるものとします。配送料が各範囲に含まれる注文の数をカウントする選択プロシージャを作成します。最初に Partition 関数を使ってこれらの範囲を設定した後、SQL の Count 関数で各範囲の注文の数をカウントします。この例の Partition 関数の引数は、start = 0、stop = 500、interval = 50 です。したがって、最初の範囲は 0:49 であり、上限の 500 まで同様に分割されます。

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);
スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×