Partition, functie

Deze functie retourneert een variant (tekenreeks) die aangeeft waar een getal voorkomt in een berekende reeks bereiken.

Syntaxis

Partition( getal, begin, einde, interval)

De syntaxis van de functie Partition bevat deze argumenten:

Argument

Beschrijving

getal

Vereist. Een geheel getal dat u wilt evalueren op basis van de bereiken.

begin

Vereist. Een geheel getal dat het begin aangeeft van het algehele bereik van getallen. Het getal mag niet kleiner zijn dan 0.

einde

Vereist. Een geheel getal dat het einde aangeeft van het algehele bereik van getallen. Het getal mag niet gelijk zijn aan of kleiner zijn dan begin.

interval

Vereist. Een geheel getal dat de grootte van de partities aangeeft binnen het algehele bereik van getallen (tussen begin en einde).

Opmerkingen

De functie Partition geeft het bereik aan waarin getal valt en retourneert een variant (tekenreeks) met een beschrijving van dat bereik. De functie Partition is vooral handig in query's. U kunt een selectiequery maken die laat zien hoeveel orders er in verschillende bereiken vallen, bijvoorbeeld orders met aantallen van 1 tot 1000, 1001 tot 2000, enzovoort.

In de volgende tabel ziet u hoe de bereiken worden bepaald met behulp van drie sets argumenten begin, einde en interval. De kolommen Eerste bereik en Laatste bereik bevatten de waarde die Partition als resultaat geeft. De bereiken worden aangegeven met laagstewaarde:hoogstewaarde, waarbij het lage segment (laagstewaarde) met een dubbele punt (:) wordt gescheiden van het hoge segment (hoogstewaarde).

begin

einde

interval

Voor eerste

Eerste bereik

Laatste bereik

Na laatste

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: "

In de tabel hierboven bevat de derde regel het resultaat wanneer begin en einde een reeks getallen aangeven die niet evenredig kunnen worden gedeeld door interval. Het laatste bereik wordt uitgebreid naar einde (11 getallen) hoewel interval is ingesteld 20.

Indien nodig retourneert Partition een bereik met voldoende voorloopspaties, zodat er links en rechts van de dubbele punt evenveel tekens staan als in begin, plus één. Op deze manier weet u zeker dat bij het gebruik van Partition met andere getallen, de resulterende tekst correct wordt verwerkt tijdens een volgende sorteerbewerking.

Als interval 1 is, bestaat het bereik uit getal: getal, ongeacht de argumenten begin en einde. Als interval bijvoorbeeld 1 is, getal 100 en einde 1000, retourneert Partition '100: 100'.

Als een van de onderdelen Null is, retourneert Partition een Null.

Queryvoorbeelden

Expressie

Resultaten

SELECT Partition(prijs per eenheid,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productVerales GROUP BY Partition(unitprice,40,240,20);

Hiermee maakt u een reeks bereikwaarden voor de waarden in het veld "prijs per eenheid" van "begin"(40) tot "einde"(240) met gelijke "interval"(20) grootte en berekent u het aantal "prijs per eenheid" in beide bereik. Geeft de bereikbereiken weer in kolom PrijsBereik en aantal in kolom 'Aantal'.

Voorbeeld van VBA

In dit voorbeeld wordt ervan uitgenomen dat u een tabel Orders hebt die een veld Vrachtkosten bevat. Hiermee maakt u een selectieprocedure die het aantal orders telt waarvoor vrachtkosten in elk van verschillende bereiken vallen. De functie Partition wordt eerst gebruikt om deze bereiken in te stellen, vervolgens wordt met de functie SQL-telling het aantal orders in elk bereik geteld. In dit voorbeeld zijn de argumenten voor de functie Partitionbegin = 0, einde = 500, interval = 50. Het eerste bereik is daarom 0:49, en hoger dan 500.

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

Meer hulp nodig?

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagenten.

×