Taikoma
Access 2010

Šiame straipsnyje aiškinama, kaip naudoti didžiausių reikšmių užklausas ir sumų užklausas norint rasti naujausias arba anksčiausias įrašų rinkinio datas. Tai gali padėti atsakyti į įvairius verslo klausimus, pvz., kai klientas paskutinį kartą pateikė užsakymą arba kurie penki ketvirčiai geriausiai tinka jūsų pardavimui pagal miestą.

Šiame straipsnyje

Apžvalga

Galite klasifikuoti duomenis ir peržiūrėti aukščiausio lygio elementus naudodami didžiausių reikšmių užklausą. Viršutinės reikšmės užklausa yra išrinkimo užklausa, kuri pateikia nurodytą skaičių arba reikšmių procentą nuo rezultatų viršaus, pvz., penki populiariausi puslapiai žiniatinklio svetainėje. Galite naudoti didžiausių reikšmių užklausą su bet kokio tipo reikšmėmis– jos neturi būti skaičiai.

Jei norite grupuoti arba apibendrinti duomenis prieš skirdami jų rangą, jums nereikia naudoti didžiausių reikšmių užklausos. Pavyzdžiui, tarkime, kad jums reikia rasti kiekvieno miesto, kuriame veikia jūsų įmonė, konkrečios datos pardavimo numerius. Tokiu atveju miestai tampa kategorijomis (jums reikia rasti duomenis pagal miestą), todėl naudojate sumų užklausą.

Kai naudojate didžiausių reikšmių užklausą įrašams, kurių lentelėje arba įrašų grupėje yra naujausios arba anksčiausios datos, galite atsakyti į įvairius verslo klausimus, pvz.:

  • Kas pastaruoju metu daugiausia pardavėjo?

  • Kada klientas paskutinį kartą atliko užsakymą?

  • Kada komandai artėja trys gimtadieniai?

Norėdami sukurti didžiausių reikšmių užklausą, pradėkite sukurdami išrinkimo užklausą. Tada surūšiuokite duomenis pagal savo klausimą – ar ieškote viršutinės, ar apatinės. Jei norite grupuoti arba apibendrinti duomenis, išrinkimo užklausą paverskite sumų užklausa. Tada galite naudoti agregavimo funkciją, pvz., Maks . arba Min , kad būtų pateikta didžiausia arba mažiausia reikšmė, arba Pirmoji arba Paskutinė , kad būtų pateikta anksčiausia arba vėliausia data.

Šiame straipsnyje daroma prielaida, kad jūsų naudojamos datos reikšmės yra datos / laiko duomenų tipo. Jei datos reikšmės yra teksto lauke, .

Verčiau naudokite filtrą vietoj didžiausių reikšmių užklausos

Filtras paprastai yra geresnis, jei turite konkrečią datą. Norėdami nustatyti, ar reikia sukurti didžiausių reikšmių užklausą, ar taikyti filtrą, apsvarstykite šiuos dalykus:

  • Jei norite grąžinti visus įrašus, kurių data sutampa, yra ankstesnė arba vėlesnė nei konkreti data, naudokite filtrą. Pavyzdžiui, norėdami pamatyti pardavimo datas nuo balandžio iki liepos, taikykite filtrą.

  • Jei norite grąžinti nurodytą įrašų, kurių lauke yra naujausios arba naujausios datos, kiekį ir nežinote tikslių datos reikšmių arba nesvarbu, sukurkite didžiausių reikšmių užklausą. Pavyzdžiui, norėdami pamatyti penkis geriausius pardavimo ketvirčius, naudokite didžiausių reikšmių užklausą.

Daugiau informacijos apie filtrų kūrimą ir naudojimą žr. straipsnyje Filtro taikymas norint peržiūrėti pasirinktus įrašus "Access" duomenų bazėje.

Puslapio viršus

Pavyzdinių duomenų parengimas sekti kartu su pavyzdžiais

Šiame straipsnyje aprašytuose veiksmuose naudojami duomenys iš toliau pateiktų lentelių pavyzdžių.

Lentelė Darbuotojai   

Pavardė

Vardas

Adresas

Miestas

CountryOrR egion

Gimimo data

Įdarbinimo data

Končius

Šarūnas

1 Main St.

Niujorkas

JAV

1968-02-05

1994-06-10

Vilutis

Vytas

52 1st St.

Bostonas

JAV

1957-05-22

1996-11-22

Vilutis

Saulis

3122 75th Ave. S.W.

Sietlas

JAV

1960-11-11

2000-03-11

Stasevičius

Darius

1 Contoso Blvd.

Londonas

UK

1964-03-22

1998-06-22

Noreika

Gintaras

Calle Smith 2

Meksikas

Meksika

1972-06-05

2002-01-05

Jasaitytė

Audra

3122 75th St. S.

Sietlas

JAV

1970-01-23

1999-04-23

Gražulis

Romas

67 Big St.

Tampa

JAV

1964-04-14

2004-10-14

Pijūnaitė

Adelė

2 Nosey Pkwy

Portlendas

JAV

1959-10-29

1997-03-29

Lentelė EventType   

Tipo ID

Įvykio tipas

1

Produktų paleidimas

2

Įmonės funkcija

3

Privati funkcija

4

Lėšų kėlimas

5

Prekių demonstravimas

6

Paskaita

7

Koncertas

8

Eksponuoti

9

Gatvės mugė

Lentelė Užsakovai   

CustomerID

Įmonė

Kontaktinis asmuo

1

UAB Contoso. Grafinis

Jonathan Haas

2

„Tailspin“ žaislai

Lina Adams

3

Fabrikam (Fabrikam)

Carol Philips

4

Wingtip Žaislai

Lucio Iallo

5

A. Datum

Mandar samantas

6

Nuotykių darbai

Brian Burke

7

Dizaino institutas

Jaka Stele

8

Dailės mokykla

Milena Duomanova

The Events table   

ĮvykioID

Įvykio tipas

Klientas

Įvykio data

Kaina

1

Produktų paleidimas

UAB Contoso.

4/14/2011

$10.000

2

Įmonės funkcija

„Tailspin“ žaislai

4/21/2011

$8,000

3

Prekių demonstravimas

„Tailspin“ žaislai

2011 05 01

25 000 EUR

4

Eksponuoti

Grafikos dizaino institutas

5/13/2011

4 500 EUR

5

Prekių demonstravimas

UAB Contoso.

5/14/2011

55 000 EUR

6

Koncertas

Dailės mokykla

5/23/2011

12 000 EUR

7

Produktų paleidimas

A. Datum

6/1/2011

$15,000

8

Produktų paleidimas

Wingtip Žaislai

6/18/2011

21 000 EUR

9

Lėšų kėlimas

Nuotykių darbai

6/22/2011

1 300 EUR

10

Paskaita

Grafikos dizaino institutas

6/25/2011

2 450 EUR

11

Paskaita

UAB Contoso.

04.07.11

3 800 EUR

12

Gatvės mugė

Grafikos dizaino institutas

04.07.11

5 500 EUR

Pastaba: Šiame skyriuje aprašytuose veiksmuose daroma prielaida, kad lentelės Klientai ir Įvykio tipas yra ryšių "vienas su daugeliu" pusėje "vienas" su lentele "Events". Tokiu atveju lentelėje Events bendrinami laukai CustomerID ir TypeID. Sumų užklausos, aprašytos tolesniuose skyriuose, be šių ryšių neveiks.

Pavyzdinių duomenų įklijavimas į „Excel“ darbalapius

  1. Paleiskite programą „Excel“. Bus atidaryta tuščia darbaknygė.

  2. Paspauskite SHIFT + F11, kad įterptumėte darbalapį (jums reikės keturių).

  3. Nukopijuokite duomenis iš kiekvienos pavyzdinės lentelės į tuščią darbalapį. Įtraukite stulpelių antraštes (pirmoje eilutėje).

Duomenų bazės lentelių kūrimas naudojant darbalapius

  1. Pažymėkite duomenis iš pirmojo darbalapio, įskaitant stulpelių antraštes.

  2. Dešiniuoju pelės mygtuku spustelėkite naršymo sritį, tada spustelėkite Įklijuoti.

  3. Spustelėkite Taip, kad patvirtintumėte, jog pirmoje eilutėje yra stulpelių antraštės.

  4. Su kiekvienu iš likusių darbalapių pakartokite veiksmus nuo 1 iki 3.

Rasti naujausią arba naujausią datą

Šiame skyriuje aprašytuose veiksmuose naudojami pavyzdiniai duomenys, iliustruojantys didžiausių reikšmių užklausos kūrimo procesą.

Pagrindinės didžiausių reikšmių užklausos kūrimas

  1. Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.

  2. Dukart spustelėkite lentelę Darbuotojai, tada spustelėkite Uždaryti.

    Jei naudojate duomenų pavyzdį, įtraukite į užklausą lentelę Darbuotojai.

  3. Įtraukite laukus, kuriuos norite naudoti užklausoje, į dizaino tinklelį. Galite dukart spustelėti kiekvieną lauką arba nuvilkti kiekvieną lauką į tuščią langelį eilutėje Laukas .

    Jei naudojate lentelės pavyzdį, įtraukite laukus Vardas, Pavardė ir Gimimo data.

  4. Lauke, kuriame yra jūsų viršutinės arba apatinės reikšmės (lauke Gimimo data, jei naudojate lentelės pavyzdį), spustelėkite eilutę Rikiuoti ir pasirinkite Didėjimo tvarka arba Mažėjimo tvarka.

    Mažėjimo tvarka pateikia naujausią datą, o didėjimo tvarka grąžina anksčiausią datą.

    Svarbu: Eilutėje Rūšiavimas turite nustatyti tik laukų, kuriuose yra jūsų datos, reikšmę. Jei nurodysite kito lauko rikiavimo tvarką, užklausa nepateiks norimo rezultato.

  5. Skirtuko Dizainas grupėje Įrankiai spustelėkite rodyklę žemyn, esančią šalia Visi (sąrašas Svarbiausios reikšmės ) ir įveskite norimų matyti įrašų skaičių arba pasirinkite parinktį iš sąrašo.

  6. Spustelėkite Vykdyti Mygtuko paveikslėlis, kad paleistumėte užklausą ir rodytų rezultatus duomenų lapo rodinyje.

  7. Įrašykite užklausą kaip NextBirthDays.

Galite matyti, kad šio tipo didžiausių reikšmių užklausa gali atsakyti į pagrindinius klausimus, pvz., kas yra seniausias arba jauniausias asmuo įmonėje. Tolesniuose veiksmuose paaiškinama, kaip naudoti reiškinius ir kitus kriterijus, kad užklausa galėtų veikti lanksčiai. Kitame veiksme pateikti kriterijai grąžina tris ateinančius darbuotojų gimtadienius.

Kriterijų įtraukimas į užklausą

Šiuose veiksmuose naudojama užklausa, sukurta atliekant ankstesnę procedūrą. Galite sekti kartu su kita didžiausių reikšmių užklausa, jei joje yra faktiniai datos / laiko duomenys, o ne tekstinės reikšmės.

Patarimas:  Jei norite geriau suprasti, kaip veikia ši užklausa, kiekviename veiksme perjunkite dizaino rodinį ir duomenų lapo rodinį. Jei norite matyti faktinį užklausos kodą, įjunkite SQL rodinį. Norėdami perjungti rodinius, dešiniuoju pelės mygtuku spustelėkite skirtuką užklausos viršuje, tada spustelėkite norimą rodinį.

  1. Naršymo srityje dešiniuoju pelės mygtuku spustelėkite užklausą NextBirthDays, tada spustelėkite Dizaino rodinys.

  2. Užklausos dizaino tinklelio stulpelyje, esančiame į dešinę nuo BirthDate, įveskite:MonthBorn: DatePart("m",[BirthDate]).Šis reiškinys išskleidžia mėnesį nuo Gimimo_data naudojant funkciją DatePart .

  3. Kitame užklausos dizaino tinklelio stulpelyje įveskite:DayOfMonthBorn: DatePart("d",[BirthDate])Šis reiškinys išskleidžia mėnesio dieną nuo gimimo datos naudojant funkciją DatePart.

  4. Išvalykite kiekvieno iš dviejų ką tik įvestų reiškinių žymės langelius eilutėje Rodyti .

  5. Spustelėkite kiekvieno reiškinio eilutę Rūšiuoti , tada pasirinkite Didėjimo tvarka.

  6. Stulpelio Gimimo data eilutėje Kriterijai įveskite šį reiškinį:Month([Gimimo data]) > Month(Date()) OR Month([Gimimo data])= Month(Date()) AND Day([Gimimo data])>Day(Date())Šis reiškinys atlieka šiuos veiksmus:

    • Month( [Gimimo data]) > Month(Date()) nurodo, kad kiekvieno darbuotojo gimimo data yra ateinantis mėnuo.

    • Month( [Gimimo data])= Month(Date()) And Day([Gimimo data])>Day(Date()) nurodo, kad jei gimimo data yra dabartiniame mėnesyje, gimtadienis yra dabartinės dienos arba po jos.

      Trumpai tariant, šis reiškinys neapima jokių įrašų, kuriuose gimtadienis yra nuo sausio 1 d. iki dabartinės datos.

      Patarimas:  Daugiau užklausos kriterijų reiškinių pavyzdžių rasite straipsnyje Užklausos kriterijų pavyzdžiai.

  7. Skirtuko Dizainas grupėje Užklausos sąranka įveskite 3 lauke Grąžinimas .

  8. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti Mygtuko paveikslėlis.

Pastaba:  Savo užklausoje naudodami savo duomenis kartais galite matyti daugiau įrašų, nei nurodėte. Jei jūsų duomenyse yra keli įrašai, kurie dalijasi reikšme, kuri yra tarp didžiausių reikšmių, užklausa pateiks visus tokius įrašus, net jei tai reiškia, kad bus pateikta daugiau įrašų nei norėjote.

Puslapio viršus

Naujausių įrašų grupių datų radimas

Sumų užklausą naudojate norėdami rasti anksčiausias arba naujausias į grupes suskirstytų įrašų, pvz., pagal miestą sugrupuotų įvykių, datas. Sumų užklausa yra išrinkimo užklausa, kuri naudoja agregavimo funkcijas (pvz., Grupuoti pagal, Min, Maks., Skaičiuoti, Pirmas ir Paskutinis), kad apskaičiuotų kiekvieno išvesties lauko reikšmes.

Įtraukite lauką, kurį norite naudoti kategorijose – grupuoti pagal – ir lauką su reikšmėmis, kurias norite sumuoti. Jei įtrauksite kitų išvesties laukų, pvz., klientų, kai grupuojate pagal įvykio tipą, vardus, užklausa naudos tuos laukus grupėms kurti, pakeisdama rezultatus, kad jie neatsakytų į jūsų pradinį klausimą. Jei norite žymėti eilutes naudodami kitus laukus, sukurkite papildomą užklausą, kuri naudoja sumų užklausą kaip šaltinį, ir į ją įtraukite papildomų laukų.

Patarimas:  Užklausų kūrimas veiksmais yra labai efektyvi strategija, kaip atsakyti į sudėtingesnius klausimus. Jei kyla problemų dėl sudėtingos užklausos veikimo, apsvarstykite, ar galėtumėte ją suskaidyti į paprastesnių užklausų seką.

Sumų užklausos kūrimas

Ši procedūra naudoja įvykių lentelės pavyzdį ir "EventType" lentelės pavyzdį , kad atsakytų į šį klausimą:

Kada buvo naujausias kiekvieno tipo įvykis, išskyrus koncertus?

  1. Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.

  2. Dukart spustelėkite lenteles Įvykiai ir "EventType". Kiekviena lentelė rodoma užklausos dizaino įrankio viršutinėje dalyje.

  3. Dukart spustelėkite lentelės EventType lauką EventType ir lauką EventDate iš lentelės Events, kad įtrauktumėte laukus į užklausos dizaino tinklelį.

  4. Užklausos dizaino tinklelio lauko EventType eilutėje Kriterijai įveskite <>Koncertas.

    Patarimas:  Daugiau kriterijų reiškinių pavyzdžių rasite straipsnyje Užklausos kriterijų pavyzdžiai.

  5. Skirtuko Dizainas grupėje Rodyti /slėpti spustelėkite Sumos.

  6. Užklausos dizaino tinklelyje spustelėkite lauko EventDate eilutę Total , tada spustelėkite Maks.

  7. Skirtuke Dizainas grupėje Rezultatai spustelėkite Rodinys, tada spustelėkite SQL rodinys.

  8. SQL lange, select sąlygos pabaigoje, iškart po RAKTINIO ŽODŽIO AS, pakeiskite MaxOfEventDateį MostRecent.

  9. Įrašykite užklausą kaip MostRecentEventByType.

Sukurkite antrą užklausą, kad įtrauktumėte daugiau duomenų

Šioje procedūroje naudojama ankstesnės procedūros MostRecentEventByType užklausa, kad būtų atsakyta į šį klausimą:

Kas buvo klientas naujausiame kiekvieno įvykio tipe?

  1. Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos dizainas.

  2. Skirtuke Užklausos dukart spustelėkite užklausą MostRecentEventByType.

  3. Skirtuke Lentelės dukart spustelėkite lentelę Įvykiai ir lentelę Klientai.

  4. Užklausos dizaino įrankyje dukart spustelėkite šiuos laukus:

    1. Lentelėje Įvykiai dukart spustelėkite EventType.

    2. Užklausoje MostRecentEventByType dukart spustelėkite MostRecent.

    3. Lentelėje Klientai dukart spustelėkite Įmonė.

  5. Užklausos dizaino tinklelyje, stulpelio EventType eilutėje Rūšiuoti pasirinkite Didėjimo tvarka.

  6. Skirtuko Dizainas grupėje Rezultatai spustelėkite Vykdyti.

Puslapio viršus

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.