U ovom se članku objašnjava kako koristiti upite s najčešćim vrijednostima i upite o ukupnim zbrojovima da biste pronašli najnovije ili najstarije datume u skupu zapisa. To vam može pomoći da odgovorite na razna poslovna pitanja, primjerice kada je kupac zadnji put stavio narudžbu ili koja vam je pet tromjesečja bila najbolja za prodaju, po gradu.
Sadržaj članka
Pregled
Podatke možete rangirati i pregledati stavke najviše rangirane pomoću upita s najvišim vrijednostima. Upit s najviše vrijednosti upit je odabiranja koji vraća navedeni broj ili postotak vrijednosti s vrha rezultata, na primjer, pet najpopularnijih stranica na web-mjestu. Upit s najčešćim vrijednostima možete koristiti u odnosu na bilo koju vrstu vrijednosti – ne moraju biti brojevi.
Ako želite grupirati ili sažeti podatke prije ranga, ne morate koristiti upit s najčešćim vrijednostima. Pretpostavimo, primjerice, da morate pronaći prodajne brojeve za određeni datum za svaki grad u kojem vaša tvrtka posluje. U tom slučaju gradovi postaju kategorije (morate pronaći podatke po gradu), pa koristite upit o ukupnim zbrojevima.
Kada koristite upit s najčešćim vrijednostima da biste pronašli zapise koji sadrže najnovije ili najstarije datume u tablici ili grupi zapisa, možete odgovoriti na razna poslovna pitanja, kao što su sljedeća:
-
Tko je u zadnje vrijeme najuprosjeoniji?
-
Kada je kupac zadnji put smjestio narudžbu?
-
Kada su sljedeća tri rođendana u timu?
Da biste stvorili upit najviše vrijednosti, započnite stvaranjem upita odabiranja. Zatim sortirajte podatke prema vašem pitanju – bez obzira na to tražite li vrh ili dno. Ako morate grupirati ili sažeti podatke, pretvorite upit odabiranja u upit s ukupnim zbrojevima. Zatim možete koristiti funkciju zbrajanja, kao što su Maks ili Min da biste vratili najvišu ili najmanju vrijednost, ili Prvi ili Zadnji da biste vratili najraniji ili najnoviji datum.
U ovom se članku pretpostavlja da vrijednosti datuma koje koristite sadrže vrstu podataka Datum/vrijeme. Ako se vrijednosti datuma nalaze u tekstnom polju, .
Razmislite o korištenju filtra umjesto upita s najčešćim vrijednostima
Filtar je obično bolji ako imate određeni datum na umu. Da biste utvrdili trebate li stvoriti upit s najviše vrijednosti ili primijeniti filtar, razmotrite sljedeće:
-
Ako želite vratiti sve zapise u kojima se datum podudara, prije ili kasnije od određenog datuma, koristite filtar. Da biste, primjerice, vidjeli datume prodaje između travnja i srpnja, primijenite filtar.
-
Ako želite vratiti navedenu količinu zapisa koji u polju sadrže najnovije ili najnovije datume, a ne znate točne vrijednosti datuma ili nisu bitne, stvorite upit s najčešćim vrijednostima. Da biste, primjerice, vidjeli pet najboljih prodajnih tromjesečja, koristite upit s najboljim vrijednostima.
Dodatne informacije o stvaranju i korištenju filtara potražite u članku Primjena filtra radi prikaza zapisa odabira u bazi podataka programa Access.
Priprema oglednih podataka za praćenje zajedno s primjerima
Koraci u ovom članku koriste podatke u sljedećim oglednim tablicama.
Tablica Zaposlenici
|
Prezime |
Ime |
Adresa |
Grad |
CountryOrR egion |
Datum rođenja |
Datum unajmi |
|
Šašić |
Tihomir |
Zelena ulica 1 |
Zagreb |
USA |
05. veljače 1968. |
10. lipnja 1994. |
|
Heloo |
Waleed |
Ilica 48 |
Dubrovnik |
USA |
22. svibnja 1957. |
22. studenog 1996. |
|
Pavičić |
Guido |
3122 75. S.W. |
Korčula |
USA |
11. studenog 1960. |
11. ožujka 2000. |
|
Pecivo |
Jean Philippe |
Avenija tratinčica 1 |
Zagreb |
Velika Britanija |
22. ožujka 1964. |
22. lipnja 1998. |
|
Cijena |
Julian |
Pod stubama 90 |
Zadar |
Meksiko |
05. lipnja 1972. |
05. siječnja 2002. |
|
Hughes |
Christine |
3122 75. st. S. |
Krapina |
USA |
23. siječnja 1970. |
23. travnja 1999. |
|
Riley |
Steve |
Belišćanska 67 |
Osijek |
USA |
14. travnja 1964. |
14. listopada 2004. |
|
Birkby |
Dana |
2 Nosey Pkwy |
Rijeka |
USA |
29. listopada 1959. |
29. ožujka 1997. |
Tablica EventType
|
IDtipka |
Vrsta događaja |
|
1 |
Pokretanje proizvoda |
|
2 |
Poslovna funkcija |
|
3 |
Privatna funkcija |
|
4 |
Prikupljanje sredstava |
|
5 |
Sajmovi |
|
6 |
Predavanje |
|
7 |
Koncert |
|
8 |
Izložba |
|
9 |
Ulični sajm |
Tablica Kupci
|
IDklijenta |
Tvrtka |
Kontakt |
|
1 |
Contoso, Ltd. Grafički |
Jonathan Haas |
|
2 |
Igračke za djecu |
Ellen Adams |
|
3 |
Fabrikam |
Carol Philips |
|
4 |
Igračke za wingtip |
Lucio Iallo |
|
5 |
A. Podatak |
Mandar Samant |
|
6 |
Adventure Works |
Brian Burke |
|
7 |
Institut za dizajn |
Jaka Stele |
|
8 |
Škola finih umjetnosti |
Milena Duomanova |
Tablica Događaji
|
ID događaja |
Vrsta događaja |
Klijent |
Datum događaja |
Cijena |
|
1 |
Pokretanje proizvoda |
Contoso, Ltd. |
4/14/2011 |
50 000 kn |
|
2 |
Poslovna funkcija |
Igračke za djecu |
4/21/2011 |
40 000 kn |
|
3 |
Sajmovi |
Igračke za djecu |
1. 5. 2011. |
25 000 USD |
|
4 |
Izložba |
Institut za grafički dizajn |
5/13/2011 |
22.500 kn |
|
5 |
Sajmovi |
Contoso, Ltd. |
5/14/2011 |
55 000 USD |
|
6 |
Koncert |
Škola finih umjetnosti |
5/23/2011 |
12 000 kn |
|
7 |
Pokretanje proizvoda |
A. Podatak |
6/1/2011 |
75 000 kn |
|
8 |
Pokretanje proizvoda |
Igračke za wingtip |
6/18/2011 |
21 000 kn |
|
9 |
Prikupljanje sredstava |
Adventure Works |
6/22/2011 |
1300 USD |
|
10 |
Predavanje |
Institut za grafički dizajn |
6/25/2011 |
2.450 USD |
|
11 |
Predavanje |
Contoso, Ltd. |
04.07.11. |
3800 USD |
|
12 |
Ulični sajm |
Institut za grafički dizajn |
04.07.11. |
5 500 kn |
Napomena: Koraci u ovom odjeljku pretpostavljaju da se tablice Kupci i Vrsta događaja nalaze na strani "jedan" odnosa jedan-prema-više s tablicom Događaji. U tom slučaju tablica Događaji dijeli polja IDKupca i TypeID. Upiti ukupnog zbroja opisani u sljedećim odjeljcima neće funkcionirati bez tih odnosa.
Lijepljenje oglednih podataka u radne listove programa Excel
-
Pokrenite Excel. Otvorit će se prazna radna knjiga.
-
Pritisnite SHIFT + F11 da biste umetnuli radni list (potrebna su vam četiri).
-
Kopirajte podatke iz svake ogledne tablice u prazan radni list. Uvrstite naslove stupaca (prvi redak).
Stvaranje tablica baze podataka od radnih listova
-
Odaberite podatke s prvog radnog lista, uključujući naslove stupaca.
-
Desnom tipkom miša kliknite navigacijsko okno, a zatim kliknite Zalijepi.
-
Kliknite Da da biste potvrdili da prvi redak sadrži zaglavlja stupaca.
-
Ponovite korake od 1 do 3 za svaki od preostalih radnih listova.
Pronalaženje najnovijeg datuma ili najmanjeg datuma
Koraci u ovom odjeljku koriste ogledne podatke da bi ilustrirali postupak stvaranja upita s najčešćim vrijednostima.
Stvaranje upita s osnovnim vrijednostima
-
Na kartici Stvaranje u grupi Upiti kliknite Dizajn upita.
-
Dvokliknite tablicu Zaposlenici, a zatim Kliknite Zatvori.
Ako koristite ogledne podatke, dodajte tablicu Zaposlenici u upit.
-
Dodajte polja koja želite koristiti u upitu u rešetku dizajna. Svako polje možete dvokliknuli ili povući i ispustiti svako polje u praznu ćeliju u retku Polje.
Ako koristite oglednu tablicu, dodajte polja Ime, Prezime i Datum rođenja.
-
U polju koje sadrži najveće ili donje vrijednosti (polje Datum rođenja, ako koristite oglednu tablicu), kliknite redak Sortiraj i odaberite Uzlazno ili Silazno.
Silazni redoslijed sortiranja vraća najnoviji datum, a uzlazni redoslijed sortiranja vraća najstariji datum.
Važno: U retku Sortiranje morate postaviti vrijednost samo za polja koja sadrže datume. Ako odredite redoslijed sortiranja za drugo polje, upit neće vratiti željene rezultate.
-
Na kartici Dizajn u grupi Alati kliknite strelicu prema dolje pokraj mogućnosti Sve (popis Najbolje vrijednosti) pa unesite broj zapisa koje želite vidjeti ili odaberite mogućnost s popisa.
-
Kliknite Pokreni
da biste pokrenuli upit i prikazali rezultate u prikazu podatkovne tablice. -
Spremite upit kao NextBirthDays.
Možete vidjeti da ta vrsta upita s najvišim vrijednostima može odgovoriti na osnovna pitanja, primjerice tko je najstarija ili najmlađa osoba u tvrtki. Sljedeći koraci objašnjavaju kako koristiti izraze i druge kriterije da biste upitu dodali snagu i fleksibilnost. Kriteriji prikazani u sljedećem koraku vraćaju sljedeća tri rođendana zaposlenika.
Dodavanje kriterija u upit
U tim se koracima koristi upit stvoren u prethodnom postupku. Možete pratiti upit s različitim najčešćim vrijednostima sve dok sadrži stvarne podatke o datumu/vremenu, a ne tekstnim vrijednostima.
Savjet: Ako želite bolje razumjeti kako taj upit funkcionira, u svakom se koraku prebacujte između prikaza dizajna i podatkovne tablice. Ako želite vidjeti stvarni kôd upita, prijeđite na SQL prikaz. Da biste se prebacivali između prikaza, desnom tipkom miša kliknite karticu pri vrhu upita, a zatim kliknite željeni prikaz.
-
U navigacijskom oknu desnom tipkom miša kliknite upit NextBirthDays, a zatim kliknite Prikaz dizajna.
-
U rešetki dizajna upita u stupac s desne strane birthDate unesite sljedeće:MjesecRođenje: DatePart("m",[DatumRođenja]).Taj izraz izdvaja mjesec iz birthDatea pomoću funkcije DatePart .
-
U sljedeći stupac rešetke dizajna upita unesite sljedeće:DayOfMonthBorn: DatePart("d",[BirthDate])Taj izraz izdvaja dan u mjesecu iz birthDate pomoću funkcije DatePart .
-
Poništite potvrdne okvire u retku Pokaži za svaki od dva izraza koja ste upravo unijeli.
-
Kliknite redak Sortiraj za svaki izraz, a zatim odaberite Uzlazno.
-
U redak Kriteriji stupca Datum rođenja upišite sljedeći izraz:Month([Datum rođenja]) > Month(Date()) OR Month([Datum rođenja])= Month(Date()) AND Day([Datum rođenja])>Day(Date())Taj izraz čini sljedeće:
-
Month( [Datum rođenja]) > Month(Date()) određuje da datum rođenja svakog zaposlenika pada u budući mjesec.
-
The Month([Birth Date])= Month(Date()) And Day([Birth Date])>Day(Date()) određuje da ako se datum rođenja dogodi u trenutnom mjesecu, rođendan pada na trenutni dan ili nakon tog dana.
Ukratko, taj izraz isključuje sve zapise u kojima se rođendan odvija između 1. siječnja i trenutnog datuma.
Savjet: Dodatne primjere izraza kriterija upita potražite u članku Primjeri kriterija upita.
-
-
Na kartici Dizajn u grupi Postavljanje upita upišite 3 u okvir Povratak.
-
Na kartici Dizajn u grupi Rezultati kliknite Izvedi
.
Napomena: U vlastitom upitu koji koristi vlastite podatke ponekad možete vidjeti više zapisa nego što ste naveli. Ako podaci sadrže više zapisa koji dijele vrijednost koja se nalazi među najpopularnijim vrijednostima, upit će vratiti sve takve zapise čak i ako to znači vraćanje više zapisa nego što ste htjeli.
Pronalaženje najnovijih datuma za grupe zapisa
Upit s ukupnim zbrojevima koristite da biste pronašli najstarije ili najnovije datume za zapise koji se nalaze u grupama, kao što su događaji grupirani po gradu. Upit s ukupnim zbrojevima upit je odabiranja koji za izračun vrijednosti za svako izlazno polje koristi funkcije zbrajanja (kao što su Grupiraj po, Mu,Max, Count, First i Last).
Uvrstite polje koje želite koristiti za kategorije – po kojem želite grupirati – i polje s vrijednostima koje želite sažeti. Ako uvrstite druga izlazna polja – primjerice, nazive klijenata kada grupirate po vrsti događaja – upit će koristiti i ta polja za stvaranje grupa, mijenjajući rezultate tako da ne odgovore na izvorno pitanje. Da biste retke označili pomoću drugih polja, stvorite dodatni upit koji koristi upit o ukupnim zbrojevima kao izvor i dodajte dodatna polja tom upitu.
Savjet: Stvaranje upita u koracima vrlo je učinkovita strategija za odgovaranje na naprednija pitanja. Ako imate poteškoća s pokretanjem složenog upita, razmislite o tome možete li ga razlomiti u niz jednostavnih upita.
Stvaranje upita o ukupnim zbrojevima
Ovaj postupak koristi oglednu tablicu Događaji i oglednu tablicu EventType da bi odgovorio na ovo pitanje:
Kada je bio najnoviji događaj svake vrste događaja, osim koncerta?
-
Na kartici Stvaranje u grupi Upiti kliknite Dizajn upita.
-
Dvokliknite tablice Događaji i EventType. Svaka se tablica prikazuje u gornjem dijelu dizajnera upita.
-
Dvokliknite polje EventType tablice EventType i polje EventDate iz tablice Događaji da biste polja dodali u rešetku dizajna upita.
-
U rešetki dizajna upita u redak Kriteriji polja EventType unesite<>koncert.
Savjet: Dodatne primjere izraza kriterija potražite u članku Primjeri kriterija upita.
-
U grupi Dizajn u grupi Prikaz/skrivanje kliknite Zbrojevi.
-
U rešetki dizajna upita kliknite redak Zbroj polja Datum Događaja, a zatim Maks.
-
Na kartici Dizajn u grupi Rezultati kliknite Prikaz, a zatim kliknite SQL prikaz.
-
U SQL prozoru na kraju uvjeta SELECT odmah nakon ključne riječi AS zamijenite MaxOfEventDatemostRecent.
-
Spremite upit kao MostRecentEventByType.
Stvaranje drugog upita radi dodavanja dodatnih podataka
Ovaj postupak koristi upit MostRecentEventByType iz prethodnog postupka da bi odgovorio na ovo pitanje:
Tko je korisnik na najnovijem događaju svake vrste događaja?
-
Na kartici Stvaranje u grupi Upiti kliknite Dizajn upita.
-
Na kartici Upiti dvokliknite upit MostRecentEventByType.
-
Na kartici Tablice dvokliknite tablicu Događaji i tablicu Kupci.
-
U dizajneru upita dvokliknite sljedeća polja:
-
U tablici Događaji dvokliknite EventType.
-
U upitu MostRecentEventByType dvokliknite MostRecent.
-
U tablici Kupci dvokliknite Tvrtka.
-
-
U rešetki dizajna upita u retku Sortiraj stupca Vrsta događaja odaberite Uzlazno.
-
Na kartici Dizajn u grupi Rezultati kliknite Izvedi.