Funktionen Partition

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerar en Variant (sträng) som anger var i en beräknad intervallserie ett tal förekommer.

Syntax

Partition(tal, start, stopp, intervall)

Partition-funktionens syntax har följande argument:

Argument Beskrivning
Nummer Obligatoriskt. Heltal som du vill beräkna mot intervallerna.
start Obligatoriskt. Heltal som finns i början av den övergripande taluppsättningen. Talet kan inte vara mindre än 0.
stopp Obligatoriskt. Heltal som finns i slutet av den övergripande taluppsättningen. Talet kan inte vara lika med eller mindre än start.
intervall Obligatoriskt. Heltal som anger storleken på partitionerna inom det övergripande intervallet med tal (mellan start och stopp).

Kommentarer

Partition-funktionen identifierar det område där talet faller och returnerar en variant (sträng) som beskriver området. Partition-funktionen är mest användbar i frågor. Du kan skapa en urvalsfråga som visar hur många order som faller inom olika intervall, till exempel ordervärden från 1 till 1 000, 1 001 till 2 000 och så vidare.

I följande tabell visas hur intervallen bestäms med tre uppsättningar start-, stopp- och intervallargument . Kolumnerna för första och sista intervall visar vad Partition returnerar. Områdena representeras av lowervalue:uppervalue, där intervallets nedre del (nedre värde) avgränsas från intervallets övre ände (övre värde) med ett kolon (:).

Börja Stanna intervall Före första Första intervall Sista intervall Efter sista
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: "

I tabellen ovan visar den tredje raden resultatet när start och stopp definierar en uppsättning tal som inte kan delas jämnt med intervall. Det sista intervallet utökas till stopp (11 tal) även om intervallet är 20.

Om det behövs returnerar Partition ett område med tillräckligt med inledande blanksteg så att det finns samma antal tecken till vänster och höger om kolonet som det finns tecken i stopp plus ett. Detta säkerställer att om du använder Partition med andra tal kommer den resulterande texten att hanteras korrekt vid efterföljande sortering.

Om intervall är 1 är intervallet tal:tal, oavsett start - och stoppargumenten . Om till exempel intervallet är 1, talet är 100 och stopp är 1 000 returnerar Partition " 100: 100".

Om någon av delarna är Null returnerar Partition en Null.

Frågeexempel

Uttryck Resultat
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); Skapar en uppsättning intervall för värdena i fältet "enhetspris" från "start"(40) till "stopp"(240) med samma "intervall"(20) storlek och beräknar antalet "enhetspris" i respektive intervall. Visar intervallen i kolumnen Prisordning och antal i kolumnen Antal.

VBA-exempel

Det här exemplet förutsätter att du har en ordertabell som innehåller ett fält för Frakt. Den skapar en valbar procedur som räknar antalet order där fraktkostnaderna tillhör något av flera intervaller. Partition-funktionen används först för att bestämma intervallen och sedan räknar SQL Count-funktionen antalet order för varje intervall. I det här exemplet är argumenten för Partition-funktionen start = 0, stopp = 500, intervall = 50. Det första intervallet är därför 0:49, och så vidare upp till 500.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);