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
antal 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 den övergripande taluppsättningen (mellan start och stopp).

Kommentarer

Funktionen Partition identifierar det intervall där talet finns och returnerar en Variant (sträng) som beskriver intervallet. 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 hjälp av tre uppsättningar start-, stopp- och intervallargument . Kolumnerna för första och sista intervall visar vad Partition returnerar. Intervallen representeras av lowervalue:uppervalue, där intervallets nedre del (lowervalue) avgränsas från den övre delen (uppervalue) med ett kolon (:).

Börja stoppa 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 efter intervall. Det sista intervallet utökas till stopp (11 siffror) även om intervallet är 20.

Om nödvändigt returnerar Partition ett intervall med inledande blanksteg så att det finns lika många 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 blir området tal:tal, oavsett start - och stoppargumenten . Till exempel, om intervall är 1, tal är 100 och stopp är 1000, returnerar Partition "100: 100".

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

Exempel på frågor

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 storlek "intervall"(20) och beräknar antalet "enhetspris" i respektive intervall. Visar intervallen i kolumnen Prisintervall och antalet 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);