Vraća Variant (niz) koji označava gdje se pojavljuje broj unutar izračunatog niza raspona.
Sintaksa
Partition(broj, početak, zaustavljanje, interval)
Sintaksa funkcije Partition sadrži ove argumente:
| Argument | Opis |
|---|---|
| broj | Obavezno. Cijeli broj koji želite usporediti s rasponima. |
| Početak | Obavezno. Cijeli broj koji označava početak ukupnog raspona brojeva. Broj ne smije biti manji od 0. |
| Zaustavi | Obavezno. Cijeli broj koji predstavlja kraj ukupnog raspona brojeva. Broj ne smije biti jednak ili manji od početka. |
| interval | Obavezno. Cijeli broj koji određuje veličinu particija unutar ukupnog raspona brojeva (između početka i završetka). |
Napomene
Funkcija Partition određuje određeni raspon u koji broj spada i vraća Variant (niz) koji opisuje taj raspon. Funkcija Partition najkorisnija je u upitima. Možete stvoriti upit odabiranja koji pokazuje koliko se narudžbi nalazi unutar različitih raspona, na primjer, vrijednosti narudžbi od 1 do 1000, od 1001 do 2000 itd.
U sljedećoj je tablici prikazano kako se rasponi određuju pomoću triju skupova argumenata početka, zaustavljanja i intervala . Stupci Prvi raspon i Posljednji raspon pokazuju što vraća particija . Rasponi su predstavljeni pomoću lowervalue:uppervalue, gdje je najniža granica (lowervalue) raspona odvojena dvotočkom (:) od najviše vrijednosti (gornja) raspona.
| Početak | Zaustavi | interval | Prije prvog | Prvi raspon | Zadnji raspon | Nakon prethodnog |
|---|---|---|---|---|---|---|
| 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: " |
U gornjoj tablici treći redak prikazuje rezultat kada početak i kraj definiraju skup brojeva koji se ne mogu ravnomjerno podijeliti intervalima. Posljednji raspon proteže se do zaustavljanja (11 brojeva) iako je interval 20.
Ako je potrebno, funkcija Partition vraća raspon s dovoljno početnih razmaka tako da se s lijeve i desne strane dvotočke nalazi isti broj znakova koliko ima znakova u znaku "stop" plus jedan. Na taj ćete način biti sigurni da će se u slučaju korištenja particije s drugim brojevima rezultirajući tekst pravilno obraditi tijekom svake sljedeće operacije sortiranja.
Ako je interval 1, raspon je broj:broj, bez obzira na argumente početka i završetka . Na primjer, ako je interval 1, broj je 100, a stop je 1000, Partition vraća " 100: 100".
Ako je vrijednost bilo kojeg dijela Null, Partition vraća vrijednost Null.
Primjeri upita
| Izraz | Rezultati |
|---|---|
| SELECT Particija(jediničnacijena;40,240;20) AS RasponCijena, count(prodajaproizvoda.jediničnacijena) AS Count FROM productSales GROUP BY Particija(jediničnacijena;40,240;20); | Stvara skup raspona za vrijednosti u polju "jediničnacijena" od "start"(40) do "stop"(240) uz jednaku veličinu "interval"(20) i izračunava broj "jediničnacijena" u odgovarajućim rasponima. Prikazuje raspone u stupcu RasponCijena i broj u stupcu "Broj". |
VBA primjer
U ovom se primjeru pretpostavlja da imate tablicu Narudžbe koja sadrži polje Vozarina. Stvara proceduru odabira koja broji narudžbe za koje trošak prijevoza ulazi u svaki od nekoliko raspona. Najprije se za utvrđivanje tih raspona koristi funkcija Partition , a zatim funkcija SQL Count broji narudžbe u svakom rasponu. U ovom su primjeru argumenti funkcije Partitionstart = 0, stop = 500, interval = 50. Prvi raspon bi stoga bio 0:49 i tako dalje do 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);