Primenjuje se na
Access 2010

Ovaj članak objašnjava kako da koristite upite najviše vrednosti i upite za ukupne vrednosti da biste pronašli najnovije ili najranije datume u skupu zapisa. To vam može pomoći da odgovorite na mnoštvo poslovnih pitanja, na primer kada je klijent poslednji put poručio porudžbinu ili kojih pet kvartala su najbolje za prodaju, po gradu.

U ovom članku:

Pregled

Pomoću upita za najviše vrednosti možete rangirati podatke i pregledati stavke najvišeg rangiranja. Upit za najvišu vrednost je upit za izdvajanje koji daje navedeni broj ili procenat vrednosti sa vrha rezultata, na primer pet najpopularnijih stranica na veb lokaciji. Upit nad najvišim vrednostima možete da koristite u odnosu na bilo koju vrstu vrednosti – one ne moraju da budu brojevi.

Ako želite da grupišete ili rezimirate podatke pre nego što ih rangirate, ne morate da koristite upit za najviše vrednosti. Na primer, recimo da treba da pronađete brojeve prodaje za dati datum za svaki grad u kojem preduzeće radi. U tom slučaju, gradovi postaju kategorije (morate da pronađete podatke po gradu), tako da koristite upit zbirova.

Kada koristite upit za najviše vrednosti da biste pronašli zapise koji sadrže najnovije ili najranije datume u tabeli ili grupi zapisa, možete da odgovorite na mnoštvo poslovnih pitanja, kao što su sledeća:

  • Ko je u poslednje vreme imao najveću prodaju?

  • Kada je klijent poslednji put poručio porudžbinu?

  • Kada su sledeća tri rođendana u timu?

Da biste kreirali upit za najvišu vrednost, počnite tako što ćete kreirati upit za izdvajanje. Zatim sortirajte podatke prema vašem pitanju – bilo da tražite vrh ili dno. Ako treba da grupišete ili rezimirate podatke, pretvorite upit za izdvajanje u upit zbirova. Zatim možete da koristite agregatnu funkciju, na primer Maksimum ili Min da biste dobili najveću ili najnižu vrednost ili prvu ili poslednju da biste dobili najraniji ili najnoviji datum.

Ovaj članak pretpostavlja da vrednosti datuma koje koristite imaju tip podataka "Datum/vreme". Ako se vrednosti datuma nalaze u tekstualnom polju, .

Razmotrite korišćenje filtera umesto upita sa najvišim vrednostima

Filter je obično bolji ako imate određeni datum na umu. Da biste utvrdili da li treba da kreirate upit za najviše vrednosti ili da primenite filter, razmotrite sledeće:

  • Koristite filter ako želite da vratite sve zapise u kojima se datum podudara, pre ili posle određenog datuma. Na primer, da biste videli datume prodaje između aprila i jula, primenite filter.

  • Ako želite da dobijete navedenu količinu zapisa koji imaju najnovije ili najnovije datume u polju, a ne znate tačne vrednosti datuma ili nisu važni, kreirajte upit za najviše vrednosti. Na primer, da biste videli pet najboljih kvartala prodaje, koristite upit za najviše vrednosti.

Više informacija o kreiranju i korišćenju filtera potražite u članku Primena filtera za prikaz izabranih zapisa u Access bazi podataka.

Vrh stranice

Priprema uzorka podataka za praćenje zajedno sa primerima

Koraci u ovom članku koriste podatke iz sledećih uzoraka tabela.

Tabela "Zaposleni"   

Prezime

Ime

Adresa

Grad

CountryOrR egion

Datum rođenja

Datum zapošljavanja

Blagojević

Jordan

Glavna 1

Novi Sad

USA

05.05.1968.

10. jun 1994.

Heloo (heloo)

Šmecer

Prva ulica 1052

Subotica

USA

22-maj 1957.

22-Nov-1996

Tica

Gvido

3122 75.ave. S.W.

Sombor

USA

11-Nov-1960

11-mar-2000

Pecivo

Žan Filip

Bulevar oslobođenja 1

Kragujevac

UK

22-mar-1964

22. jun 1998.

Cenić

Dћulijan

Saša Simić 2

Meksiko Siti

Meksiko

05-jun-1972

05.05.2002.

Hjuz

Kristina

3122 75th St. S.

Sijetl

USA

23-jan-1970.

23-apr-1999

Rajli

Stiv

Velika 67

Valjevo

USA

14-apr-1964

14-okt-2004

Birkby

Dana

2 Nosi Pkwy

Smederevo

USA

29-okt-1959

29-mar-1997

Tabela "EventType"   

ID tipa

Tip događaja

1

Pokretanje proizvoda

2

Funkcija "Corporate"

3

Funkcija "Private"

4

Prikupljanje sredstava

5

Sajam

6

Predavanje

7

Koncert

8

Izloћba

9

Ulični sajam

Tabela „Kupci“   

ID klijenta

Preduzeće

Kontakt

1

Contoso d.o.o. Grafiku

Džonatan Haas

2

Igračke VrtiRep

Jelena Adams

3

Fabrikam

Carol Philips

4

Igračke krila

Lucio Iallo

5

A. Datum

Mandar Samant

6

Avanturistički poduhti

Brian Burke

7

Institut za dizajniranje

Jaka Stele

8

Škola likovnih umetnosti

Milena Duomanova

Tabela "Događaji"   

IDDogađaja

Tip događaja

Kupac

Datum događaja

Cenić

1

Pokretanje proizvoda

Contoso d.o.o.

4/14/2011

10.000 din.

2

Funkcija "Corporate"

Igračke VrtiRep

4/21/2011

8.000 din.

3

Sajam

Igračke VrtiRep

01.05.11.

25.000 USD

4

Izloћba

Institut za grafički dizajn

5/13/2011

$4,500

5

Sajam

Contoso d.o.o.

5/14/2011

55.000 USD

6

Koncert

Škola likovnih umetnosti

5/23/2011

12.000 RSD

7

Pokretanje proizvoda

A. Datum

6/1/2011

15.000 din.

8

Pokretanje proizvoda

Igračke krila

6/18/2011

21.000 RSD

9

Prikupljanje sredstava

Avanturistički poduhti

6/22/2011

1.300 USD

10

Predavanje

Institut za grafički dizajn

6/25/2011

2.450 USD

11

Predavanje

Contoso d.o.o.

04.07.11.

3.800 USD

12

Ulični sajam

Institut za grafički dizajn

04.07.11.

5.500 RSD

Napomena: Koraci u ovom odeljku pretpostavljaju da se tabele "Klijenti" i "Tip događaja" nalaze na strani "jedan" relacija jedan-prema-više sa tabelom "Događaji". U ovom slučaju, tabela "Događaji" deli polja "ID klijenta" i "TypeID". Upiti za ukupne vrednosti opisani u sledećim odeljcima neće raditi bez tih relacija.

Lepljenje uzorka podataka u Excel radne listove

  1. Pokrenite Excel. Otvara se prazna radna sveska.

  2. Pritisnite kombinaciju tastera SHIFT+F11 da biste umetnuli radni list (biće vam potrebno četiri).

  3. Kopirajte podatke iz svake probne tabele u prazan radni list. Uključite naslove kolona (prvi red).

Kreiranje tabela baze podataka od radnih listova

  1. Izaberite podatke sa prvog radnog lista, uključujući naslove kolona.

  2. Kliknite desnim tasterom miša na okno za navigaciju, a zatim izaberite stavku Nalepi.

  3. Kliknite na dugme Da da biste potvrdili da prvi red sadrži naslove kolona.

  4. Ponovite korake od 1. do 3. za svaki preostali radni list.

Pronalaženje najkasnijeg ili najmanjeg datuma

Koraci u ovom odeljku koriste uzorak podataka za ilustrovanje procesa kreiranja upita za najviše vrednosti.

Kreiranje upita osnovnih najviših vrednosti

  1. Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.

  2. Kliknite dvaput na tabelu "Zaposleni", a zatim kliknite na dugme Zatvori.

    Ako koristite uzorak podataka, dodajte tabelu "Zaposleni" u upit.

  3. Dodajte polja koja želite da koristite u upitu u koordinatnu mrežu dizajna. Možete da kliknete dvaput na svako polje ili da prevučete i otpustite svako polje u praznoj ćeliji u redu Polje.

    Ako koristite probnu tabelu, dodajte polja Ime, Prezime i Datum rođenja.

  4. U polju koje sadrži najviše ili najniže vrednosti (polje Datum rođenja, ako koristite uzorak tabele), kliknite na red Sortiraj i izaberite stavku Rastući redosled ili Opadajući redosled.

    Opadajući redosled sortiranja daje najnoviji datum, a Rastući redosled sortiranja daje najraniji datum.

    Važno: Vrednost u redu Sortiranje morate postaviti samo za polja koja sadrže datume. Ako navedete redosled sortiranja za drugo polje, upit neće vratiti željene rezultate.

  5. Na kartici Dizajn, u grupi Alatke kliknite na strelicu nadole pored stavke Sve (lista Najviše vrednosti) i unesite broj zapisa koji želite da vidite ili izaberite opciju sa liste.

  6. Kliknite na dugme Slika dugmetada biste pokrenuli upit i prikazali rezultate u prikazu lista sa podacima.

  7. Sačuvajte upit kao NextBirthDays.

Možete da vidite da ovaj tip upita najvažnijih vrednosti može da odgovori na osnovna pitanja, kao što je ko je najstarija ili najmlađi korisnik u preduzeću. Sledeći koraci objašnjavaju kako se koriste izrazi i drugi kriterijumi za dodavanje moći i fleksibilnosti u upit. Kriterijumi prikazani u sledećem koraku daju sledeća tri rođendana zaposlenih.

Dodavanje kriterijuma u upit

Ovi koraci koriste upit kreiran u prethodnoj proceduri. Možete da pratite različit upit najviše vrednosti sve dok sadrži stvarne podatke o datumu/vremenu, a ne tekstualnim vrednostima.

Savet:  Ako želite da bolje razumete kako funkcioniše ovaj upit, prebacite se između prikaza dizajna i prikaza lista sa podacima u svakom koraku. Ako želite da vidite stvarni kôd upita, prebacite se na SQL prikaz. Da biste se prebacivali između prikaza, kliknite desnim tasterom miša na karticu na vrhu upita, a zatim izaberite željeni prikaz.

  1. U oknu za navigaciju kliknite desnim tasterom miša na upit NextBirthDays, a zatim izaberite stavku Prikaz dizajna.

  2. U koordinatnoj mreži za dizajn upita, u kolonu sa desne strane stavke DatumRođenja unesite sledeće:MonthBorn: DatePart("m",[BirthDate]).Ovaj izraz izdvaja mesec iz datumaRođanja pomoću funkcije DatePart .

  3. U sledeću kolonu koordinatne mreže za dizajn upita unesite sledeće:DayOfMonthBorn: DatePart("d",[BirthDate])Ovaj izraz izdvaja dan u mesecu iz datumaRođenja pomoću funkcije DatePart .

  4. Opozovite izbor u poljima za potvrdu u redu Prikaži za svaki od dva izraza koja ste upravo uneli.

  5. Kliknite na red Sortiraj za svaki izraz, a zatim izaberite stavku Rastući redosled.

  6. U redu Kriterijumi kolone Datum rođenja otkucajte sledeći izraz:Month([Datum Rođenja]) > Month(Date()) OR Month([Birth Date])= Month(Date()) AND Day([Birth Date])>Day(Date())Ovaj izraz radi sledeće:

    • Month( [Datum rođenja]) > Month(Date()) navodi da datum rođenja svakog zaposlenog pada u budući mesec.

    • The Month([Birth Date])= Month(Date()) And Day([Birth Date])>Day(Date()) navodi da ako se datum rođenja pojavi u tekućem mesecu, rođendan pada na trenutni dan ili posle trenutnog dana.

      Ukratko, ovaj izraz isključuje sve zapise u kojima se rođendan dešava između 1. januara i trenutnog datuma.

      Savet:  Više primera izraza kriterijuma upita potražite u članku Primeri kriterijuma upita.

  7. Na kartici Dizajn, u grupi Podešavanje upita otkucajte 3u polju Vraćanje.

  8. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni Slika dugmeta.

Napomena:  U sopstvenom upitu pomoću sopstvenih podataka ponekad ćete možda videti više zapisa nego što ste naveli. Ako podaci sadrže više zapisa koji dele vrednost koja je među najvažnijim vrednostima, upit će vratiti sve takve zapise čak i ako to znači vraćanje više zapisa nego što ste želeli.

Vrh stranice

Pronalaženje najnovijih ili najnovijih datuma za grupe zapisa

Upit zbirova koristite da biste pronašli najranije ili najnovije datume za zapise koji spadaju u grupe, kao što su događaji grupisani po gradu. Upit zbirova je upit za izdvajanje koji koristi agregatne funkcije (kao što su Grupiši po, Min, Maksimum,Broj, Prvi i Poslednji) za izračunavanje vrednosti za svako izlazno polje.

Uključite polje koje želite da koristite za kategorije – za grupisanje – i polje sa vrednostima koje želite da rezimirate. Ako uključite druga izlazna polja – recimo, imena klijenata kada grupišete po tipu događaja – upit će koristiti i ta polja za pravljenje grupa, menjajući rezultate tako da ne odgovore na originalno pitanje. Da biste označili redove pomoću drugih polja, kreirajte dodatni upit koji koristi upit zbirova kao izvor i dodajte dodatna polja u taj upit.

Savet:  Izrada upita u koracima je veoma efikasna strategija za odgovaranje na naprednija pitanja. Ako imate problema prilikom rada složenog upita, razmislite o tome da li možete da ga razdete u niz jednostavnijih upita.

Kreiranje upita zbirova

Ova procedura koristi uzorak tabele "Događaji" i uzorak tabele "EventType" da bi odgovorila na ovo pitanje:

Kada je bio najnoviji događaj svakog tipa događaja, isključujući koncerte?

  1. Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.

  2. Kliknite dvaput na tabele "Događaji" i "EventType". Svaka tabela se pojavljuje u gornjem odeljku dizajnera upita.

  3. Kliknite dvaput na polje EventType tabele i polje "EventDate" iz tabele "Događaji" da biste dodali polja u koordinatnu mrežu za dizajn upita.

  4. U koordinatnoj mreži za dizajn upita , u red Kriterijumi polja EventType unesite<> Koncert.

    Savet:  Više primera izraza kriterijuma potražite u članku Primeri kriterijuma upita.

  5. Na kartici Dizajn, u grupi Prikaži/sakrij kliknite na dugme Zbirovi.

  6. U koordinatnoj mreži za dizajn upita kliknite na red Zbir polja "Datum Događaja", a zatim izaberite stavku Maksimum.

  7. Na kartici Dizajn, u grupi Rezultati, kliknite na dugme Prikaz, a zatim izaberite stavku SQL prikaz.

  8. U SQL prozoru, na kraju odredbe SELECT, odmah iza ključne reči AS, zamenite MaxOfEventDate sa MostRecent.

  9. Sačuvajte upit kao MostRecentEventByType.

Kreirajte drugi upit da biste dodali još podataka

Ova procedura koristi upit MostRecentEventByType iz prethodne procedure da bi odgovorila na ovo pitanje:

Ko je bio klijent na najnovijem događaju svakog tipa događaja?

  1. Na kartici Kreiranje, u grupi Upiti kliknite na dugme Dizajn upita.

  2. Na kartici Upiti kliknite dvaput na upit MostRecentEventByType.

  3. Na kartici Tabele kliknite dvaput na tabelu "Događaji" i tabelu "Klijenti".

  4. U dizajneru upita kliknite dvaput na sledeća polja:

    1. U tabeli "Događaji" kliknite dvaput na dugme EventType.

    2. U upitu MostRecentEventByType kliknite dvaput na stavku MostRecent.

    3. U tabeli "Klijenti" kliknite dvaput na dugme Preduzeće.

  5. U koordinatnoj mreži za dizajn upita, u redu Sortiranjekolone EventType izaberite stavku Rastući redosled.

  6. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Vrh stranice

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.