Partition 関数
計算された一連の範囲内で数値が発生する場所を示すVarian (String) を返します。
構文
Partition(number, start, stop, interval)
Partition 関数の構文には、次の名前付き引数があります。
指定項目 | 説明 |
---|---|
number | 必須。 範囲に対して評価する数値。 |
start | 必須です。 数値の範囲全体の先頭となる数値。 0 より小さい値は指定できません。 |
stop | 必須です。 数値の範囲全体の末尾である数値。 start 以下の値をこの数字に指定できません。 |
interval | 必須。 1 つの範囲と次の範囲の差である数値。 数値を 1 未満にすることはできません。 |
注釈
Partition 関数では、number が含まれる特定の範囲を特定し、その範囲を示す Variant (String) を返します。 Partition 関数は、クエリで最も効果的です。 たとえば、さまざまな範囲(例: 1 から 1000、1001 から 2000 など) に含まれる注文数を示す選択クエリを作成することができます。
次の表では、start、stopとinterval 各パーツの 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 行目は、start と stop が定義するセットの値が、interval によって均等に割れない場合の結果を示します。 interval は 20 ですが、最後の範囲は stop まで達します (11 個の値)。
Partition は、コロンの左右のそれぞれの文字数を stop の文字数より 1 つ多い文字数にするために、必要に応じて先頭に十分なスペースを含めて範囲を返します。 これにより、Partition を他の数字で使用する場合でも、結果のテキストはその後の並べ替え操作で正しく処理されます。
interval が 1 の場合は、start 引数および stop 引数に関わらず、範囲は number:number になります。 たとえば、interval が 1、number が 100、stop が 1000 の場合、Partition は "100:100" を返します。
引数には 10 進値を指定できますが、処理の前に最も近い偶数の整数に丸められます。 引数のいずれかが Null の場合、 Partition は Null を返します。
例
この例では、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 VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。