Kryžminės užklausos naudojimas suvestinės duomenų skaitymui palengvinti

Kad „Access“ suvestinės duomenis būtų lengviau skaityti ir suprasti, naudokite kryžminę užklausą. Kryžminė užklausa apskaičiuoja sumą, vidurkį ar kitą sudėtinę funkciją, tada sugrupuoja rezultatus į du reikšmių rinkinius: vieną rinkinį – duomenų lapo krašte, o kitą – skersai viršuje. Juostelėje spustelėkite Kurti, tada grupėje Užklausos spustelėkite Užklausų vediklis. Dialogo lange Nauja užklausa dukart spustelėkite Kryžminių užklausų vediklis.

Jei vienas iš antraščių rinkinių turi datų reikšmes, vediklis padės sugrupuoti įrašus pagal standartinius intervalus, pvz., mėnesius ar ketvirčius.

Šiame straipsnyje

Apžvalga

Kryžminės užklausos kūrimas naudojant kryžminių užklausų vediklį

Kryžminės užklausos kūrimas rodinyje Dizainas

Kryžminės užklausos kūrimas SQL rodinyje

Diapazonų ar intervalų naudojimas antraštėms

Parametro raginimas apriboti eilutės antraštes

Neapibrėžtų reikšmių pakeitimas nuliais

Patarimai kuriant kryžminę užklausą

Pastaba : Kryžminės užklausos nėra pasiekiamos „Access“ žiniatinklio programose ir yra tik iš dalies palaikomos žiniatinklio duomenų bazėje: jų negali naudoti jokie žiniatinklio objektai.

Apžvalga

Kryžminė užklausa yra išrinkimo užklausa tipas. Vykdant kryžminę užklausą, rezultatai rodomi duomenų lape, kurio struktūra skiriasi nuo kitų duomenų lapų tipų.

Kryžminės užklausos struktūra gali būti paprastesnė skaitymui, negu viena pasirinkta užklausa, pateikianti tuos pačius duomenis, kaip parodyta tolesniame paveikslėlyje.

Pasirinkimo ir kryžminė užklausos, kuriose rodomi tie patys duomenys

1. Ši pasirinkimo užklausa sugrupuoja suvestinės duomenis vertikaliai pagal darbuotoją ir kategoriją.

2. Kryžminės užklausos gali rodyti tuos pačius duomenis, tačiau jos grupuoja duomenis horizontaliai ir vertikaliai, kad duomenų lapas būtų kompaktiškesnis ir lengviau suprantamas.

Kai kuriate kryžminę užklausą, nurodote, kuriuose laukuose bus eilučių antraštės, kuriuose laukuose bus stulpelių antraštės ir kuriuose laukuose bus suvestinės reikšmės. Galite naudoti tik po vieną lauką, kai nurodote stulpelių antraštes ir suvestines reikšmes. Kai nurodote eilučių antraštes, galite naudoti iki trijų laukų.

Eilučių antraštėms, stulpelių antraštėms ar suvestinėms reikšmėms pateikti galite naudoti ir išraišką. Daugiau informacijos žr. SQL agregavimo funkcijos.

Kryžminės užklausos diagrama

1. Viename, dviejuose ar trijuose stulpeliuose šioje pusėje yra eilučių antraštės. Laukų pavadinimai, kuriuos naudojate kaip eilučių antraštes, rodomi šių stulpelių viršutinėje eilutėje.

2. Čia rodomos eilučių antraštės. Eilučių skaičius kryžminiame duomenų lape gali greitai padidėti, kai naudojate daugiau nei vieną eilutės antraštės lauką, nes rodomi visi eilučių antraščių deriniai.

3. Stulpeliuose, esančiuose šioje pusėje, yra stulpelių antraštės ir suvestinės reikšmės. Atminkite, kad stulpelio antraštės lauko pavadinimas duomenų lape nerodomas.

4. Čia rodomos suvestinės reikšmės.

Kryžminės užklausos kūrimo būdai

Kryžminės užklausos vediklio naudojimas   Kryžminės užklausos vediklis dažniausiai yra paprasčiausias ir greičiausias būdas sukurti kryžminę užklausą. Jis atlieka didesnę darbo dalį, tačiau yra keletas punktų, kurių vediklis nesiūlo.

Vediklio pranašumai:

  • Jį paprasta naudoti. Jei norite jį naudoti, paleiskite vediklį, tada atsakykite į kelis klausimus.

  • Jis gali automatiškai sugrupuoti datas į intervalus. Jei naudojate lauką, kuriame yra datos/laiko duomenys kaip stulpelių antraštės, vediklis taip pat padeda grupuoti datas į intervalus, pvz., mėnesius ar ketvirčius.

    Patarimas : Jei norite naudoti reikšmes iš datos/laiko lauko kaip stulpelių antraštes, tačiau norite grupuoti datas į intervalus, kitaip, negu siūlo vediklis, pvz., finansinius metus ar dvejus metus, nenaudokite vediklio kurdami užklausą. Vietoj to sukurkite kryžminę užklausą dizaino rodinyje ir naudodami reiškinį sukurkite intervalus.

  • Jis gali būti naudojamas kaip pradžios taškas. Vediklį galima naudoti norimai paprastajai kryžminei užklausai kurti, tada tobulinti užklausos dizainą naudodami dizaino rodinį.

Tačiau naudojant vediklį negalima:

  • Naudoti daugiau nei vieną lentelę arba užklausą kaip įrašo šaltinis.

  • Naudoti išraiška kuriant laukus.

  • Įtraukti parametro raginimą.

  • Nurodykite fiksuotų reikšmių sąrašą, kurį naudosite kaip stulpelių antraštes.

    Paskutiniame vediklio žingsnyje galite pasirinkti keisti užklausą dizaino rodinyje. Tai suteikia galimybę įtraukti užklausos dizaino elementus, kurių nepalaiko vediklis, pvz., papildomus įrašų šaltinius.

Darbas dizaino rodinyje    Dizaino rodinyje teikiama daugiau galimybių kontroliuoti užklausos dizainą. Jis palaiko funkcijas, kurios nepasiekiamos vediklyje.

Galite naudoti dizaino rodinį norėdami sukurti kryžminę užklausą, jei norite:

  • Turėti daugiau proceso valdymo galimybių. Vediklis priima kelis sprendimus už jus.

  • Naudoti daugiau nei vieną lentelę ar užklausą kaip įrašų šaltinį.

  • Įtraukti parametro raginimą į užklausą.

  • Naudoti reiškinius kaip laukus užklausoje.

  • Nurodykite fiksuotų reikšmių sąrašą, kurį naudosite kaip stulpelių antraštes.

  • Bandykite naudoti dizaino tinklelis.

Užklausos rašymas SQL rodinyje   Jei norite, galima rašyti kryžminę užklausą SQL rodinyje. Tačiau negalima nurodyti parametro duomenų tipų naudojant SQL rodinį. Jei norite naudoti kryžminės užklausos parametrą, būtina nurodyti parametro duomenų tipą modifikuojant savo užklausą dizaino rodinyje.

Patarimas : Atminkite – kryžminę užklausą galima kurti ne vienu būdu. Užklausai kurti galima naudoti vediklį, tada modifikuoti užklausos dizainą naudojant dizaino rodinį.

Puslapio viršus

Kryžminės užklausos kūrimas naudojant kryžminių užklausų vediklį

Naudojant kryžminių užklausų vediklį būtina pasirinkti vieną lentelę ar užklausą kaip kryžminės užklausos įrašo šaltinį. Jei vienoje lentelėje nėra visų duomenų, kuriuos norite įtraukti į kryžminę užklausą, pradėkite sukurdami išrinkimo užklausą, kuri pateikia norimus duomenis. Daugiau informacijos apie išrinkimo užklausos kūrimą rasite Įžanga apie užklausas.

Šiame pavyzdyje sukursime kryžminę užklausą naudodami produktų lentelę iš „Northwind“ duomenų bazės. Norime rodyti produktų skaičių kiekvienoje kategorijoje iš visų tiekėjų.

  1. Skirtuko Kūrimas grupėje Užklausos spustelėkite Užklausos vediklis. Atminkite, jei naudojate „Access 2007“, spustelėkite Kūrimas > Kita > Užklausų vediklis.

    „Access“ juostelės grupėje Užklausos rodomos dvi parinktys: Užklausų vediklis ir Užklausos dizainas
  2. Dialogo lange Nauja užklausa spustelėkite Kryžminių užklausų vediklis, tada spustelėkite Gerai.

    Paleidžiamas Kryžminių užklausų vediklis.

  3. Pirmame vedlio puslapyje pasirinkite lentelę ar užklausą, kurią norite naudoti kryžminei užklausai kurti. Pavyzdžiui, pasirinkite lentelę Produktai, tada spustelėkite Toliau.

    Kryžminės užklausos vediklyje pasirinkite lentelę arba užklausą.
  4. Kitame puslapyje pasirinkite lauką su yra reikšmėmis, kurias norite naudoti kaip eilučių antraštes. Kaip eilučių antraščių šaltinius galite rinktis iki trijų laukų, bet kuo mažiau eilučių antraščių naudosite, tuo paprasčiau bus skaityti kryžminį duomenų lapą. Jei eilučių antraštėms užpildyti pasirinksite daugiau nei vieną lauką, tvarka, kuria rinksitės laukus, bus numatytoji tvarka, kuria bus rūšiuojami rezultatai.

    Pavyzdžiui, pasirinkite Tiekėjų ID. Reikšmė, tada spustelėkite mygtuką su simboliu >. Atkreipkite dėmesį, kad programa „Access“ rodo lauko pavadinimą užklausos pavyzdžio peržiūros kairėje pusėje dialogo lango apačioje. Jei norite tęsti, spustelėkite Pirmyn.

    Pasirinkite lauką, kuris bus rodomas kaip eilučių antraštės kryžminės užklausos vediklyje.
  5. Kitame puslapyje pasirinkite lauką, kuriame yra reikšmės, kurias norite naudoti kaip stulpelių antraštes. Apskritai turėtumėte pasirinkti lauką, kuriame yra kelios reikšmės, kad rezultatus būtų paprasta skaityti. Pvz., naudoti lauką, kuriame yra tik kelios galimos reikšmės (pvz., lytis) gali būti geriau nei naudoti lauką, kuriame gali būti daug skirtingų reikšmių (pvz., amžius).

    Jei lauko, kurį pasirenkate naudoti kaip stulpelių antraštes, duomenų tipas yra Data / laikas, vediklis įtraukia veiksmą, kuris leidžia nurodyti, kaip grupuoti datas į intervalus, pvz., mėnesius ar ketvirčius.

    Pavyzdžiui, pasirinkite Kategorija ir atkreipkite dėmesį, kad „Access“ kategorijų pavyzdžių pavadinimus užklausos pavyzdžio peržiūros viršuje dialogo lango apačioje. Jei norite tęsti, spustelėkite Pirmyn.

    Pasirinkite lauką, kuris bus rodomas kaip eilučių antraštės kryžminės užklausos vediklyje.
  6. Jei stulpelių antraštėms pasirenkate lauką Data / laikas, kitame vediklio puslapyje prašoma nurodyti intervalą, naudojamą datoms sugrupuoti. Galite nurodyti Metai, Ketvirtis, Mėnuo, Data ar Data / laikas. Jei stulpelių antraštėms nepasirenkate lauko Data / laikas, vediklis praleidžia šį puslapį.

  7. Kitame puslapyje pasirinkite lauką ir funkciją suvestinėms reikšmėms apskaičiuoti. Pažymėtas lauko duomenų tipas, kurio funkcijos yra galimos.

    Tame pačiame puslapyje pažymėkite arba išvalykite žymės langelį Taip, įtraukti eilučių sumas, kad įtrauktumėte eilučių sumas arba ne.

    Jei įtrauksite eilučių sumas, kryžminėje užklausoje yra papildoma eilutės antraštė, kuri naudoja tą patį lauką ir funkciją kaip lauko reikšmė. Įtraukiant eilutės sumą, įterpiamas papildomas stulpelis, kuriame apibendrinami likę stulpeliai. Pvz., jei kryžminė užklausa apskaičiuoja vidutinį amžių pagal vietą ir lytį (su lyties stulpelio antraštėmis), papildomas stulpelis apskaičiuoja vidutinį amžių pagal vietą, tarp visų lyčių.

    Šiame pavyzdyje pasirinkite ID –lauke Laukai, tada Skaičius lauke Funkcijos, kad „Access“ skaičiuotų produktų skaičių kiekvienoje tiekėjo ir kategorijos sankirtoje. Palikite pažymėtą langelį Taip, įtraukti eilučių sumas. „Access“ sukurs stulpelį, kuriame bus pateikta produktų iš kiekvieno tiekėjo bendra suma. Norėdami tęsti spustelėkite Pirmyn.

    Pasirinkite lauką ir funkciją, kad būtų skaičiuojama kryžminės užklausos vediklyje.
  8. Paskutiniame vediklio puslapyje įveskite užklausos pavadinimą ir nurodykite, ar norite peržiūrėti rezultatus, ar modifikuoti užklausos dizainą.

    Galite keisti funkciją, naudojamą eilučių sumoms gauti, dizaino rodinyje redaguodami kryžminę užklausą.

  9. Jei peržiūrėjote šį pavyzdį naudodami lentelę Produktai iš „Northwind“ duomenų bazės, kryžminės užklausos rodo tiekėjo vardų sąrašą kaip eilutes, produktų kategorijų pavadinimus kaip stulpelius ir kiekvienos sankirtos produktų skaičių.

    Kryžminė užklausa, rodomą duomenų lapo rodinyje su tiekėjais ir produktų kategorijomis.

Puslapio viršus

Naudojant dizaino rodinį kryžminės užklausos kūrimui galima naudoti kelis įrašų šaltinius (lenteles ir užklausas). Tačiau dizainas vis tiek gali būti nesudėtingas iš pradžių sukūrus išrinkimo užklausą, pateikiančią visus pageidaujamus duomenis, tada naudojant šią užklausą kaip vienintelį įrašų šaltinį savo kryžminei užklausai. Daugiau informacijos apie išrinkimo užklausos kūrimą žr. skyrių Taip pat žiūrėkite.

Kai kryžminę užklausą kuriate dizaino rodinyje, dizaino tinklelyje naudojate eilutes Suma ir Kryžminė, kad nurodytumėte, kurios laukų reikšmės bus stulpelių antraštės, kurios laukų reikšmės bus eilučių antraštės ir kurios laukų reikšmės skirtos sumai, vidurkiui, skaičiavimui ar kitam apskaičiavimui.

Kryžminės užklausos dalys rodomos dizaino rodinyje

1. Šių eilučių parametrai nustato, ar laukas yra eilutės antraštė, stulpelio antraštė ar suvestinė reikšmė.

2. Šis parametras rodo lauko reikšmes kaip eilučių antraštes.

3. Šis parametras rodo lauko reikšmes kaip stulpelių antraštes.

4. Šiuose parametruose pateikiamos suvestinės reikšmės.

Užklausos kūrimas

  1. Skirtuko lapo Kurti grupėje Užklausos spustelėkite Užklausos dizainas. Atminkite, jei naudojate „Access 2007“, spustelėkite Kūrimas > Kita > Užklausos dizainas.

    „Access“ juostelės grupėje Užklausos rodomos dvi parinktys: Užklausų vediklis ir Užklausos dizainas
  2. Dialogo lange Lentelės rodymas dukart spustelėkite kiekvieną lentelę ar užklausą, kurią norite naudoti kaip įrašo šaltinį.

    Jei naudojate daugiau nei vieną įrašo šaltinį, įsitikinkite, kad lentelės ar užklausos yra sujungtos bendruose laukuose. Daugiau informacijos apie lentelių ir užklausų sujungimą, žr. skyrių Taip pat žiūrėkite

  3. Uždarykite dialogo langą Lentelės rodymas.

  4. Skirtuko Dizainas grupėje Užklausos tipas spustelėkite Kryžminė.

  5. Užklausos dizaino lange dukart spustelėkite kiekvieną lauką, norimą naudoti kaip eilučių antraščių šaltinį. Eilučių antraštėms galite pažymėti iki trijų laukų.

  6. Užklausos dizaino tinklelyje, eilutėje Kryžminė kiekvienam eilutės antraštės laukui pažymėkite Eilutės antraštė.

    Eilutėje Kriterijai galite įvesti išraišką, kad apribotumėte to lauko rezultatus. Taip pat galite naudoti eilutę Rūšiavimas, kad nurodytumėte lauko rūšiavimo tvarką.

  7. Užklausos dizaino lange dukart spustelėkite lauką, norimą naudoti kaip stulpelių antraščių šaltinį. Stulpelių antraštėms galite pažymėti tik vieną lauką.

  8. Užklausos dizaino tinklelyje, eilutėje Kryžminė kiekvienam stulpelio antraštės laukui pažymėkite Stulpelio antraštė.

    Eilutėje Kriterijai galite įvesti išraišką, kad apribotumėte stulpelio antraštės lauko rezultatus. Tačiau kriterijų išraiškos naudojimas su stulpelio antraštės lauku neapriboja stulpelių skaičiaus, kuriuos pateikia kryžminė užklausa. Vietoj to, taip apribojama, kuriuose stulpeliuose yra duomenys. Pvz., tarkim yra stulpelio antraštės laukas, kuriame yra trys galimos reikšmės: raudona, žalia ir mėlyna. Jei stulpelio antraštės laukui pritaikote kriterijų ='mėlyna', kryžminėje lentelėje rodomas stulpelis su reikšme raudona ir stulpelis su reikšme žalia, bet tik stulpelyje su reikšme mėlyna yra duomenų.

    Jei norite apriboti reikšmes, kurios rodomos kaip stulpelių antraštės, naudodami užklausos ypatybę Stulpelio antraštės galite nurodyti fiksuotų reikšmių sąrašą. Daugiau informacijos žr. tolesniame skyriuje.

  9. Užklausos dizaino lange dukart spustelėkite lauką, kurį norite naudoti suvestinėms reikšmėms apskaičiuoti. Suvestinėms reikšmėms galite pažymėti tik vieną lauką.

  10. Užklausos dizaino tinklelyje, suvestinių reikšmių lauko eilutėje Suma pažymėkite sudėtinę funkciją, kuri bus naudojama reikšmėms apskaičiuoti.

  11. Suvestinių reikšmių lauko eilutėje Kryžminė pažymėkite Reikšmė.

    Suvestinių reikšmių laukui negalite nurodyti kriterijų ar jame rūšiuoti.

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

Fiksuotų reikšmių nurodymas stulpelių antraštėms

Jei norite nurodyti fiksuotas reikšmes, kurios bus naudojamos stulpelių antraštėms, galite nustatyti užklausos ypatybę Stulpelių antraštės.

  1. Rodinyje Dizainas atidarykite kryžminę užklausą.

  2. Jei ypatybės lapas nerodomas, paspauskite F4, kad jis būtų parodytas.

  3. Įsitikinkite, kad ypatybių lape, tiesiai virš skirtuko Bendra, Žymėjimo tipas yra Užklausos ypatybės. Jei taip nėra, spustelėkite tuščią vietą srityje virš užklausos dizaino tinklelio.

  4. Ypatybės lape, skirtuko Bendra ypatybėje Stulpelių antraštės įveskite reikšmių, atskirtų kableliais, sąrašą, kurį norite naudoti kaip stulpelių antraštes.

    Kai kurie simboliai (pvz., daugelis skyrybos ženklų) stulpelių antraštėse neleidžiami. Jei šiuos simbolius naudojate reikšmių sąraše, „Access“ kiekvieną tokį simbolį pakeičia pabraukimo simboliu (_).

Kryžminės užklausos SQL sintaksė

Kryžminė užklausa išreikšta SQL kaip TRANSFORM sakinys. Sakinys TRANSFORM sudarytas iš šios sintaksės:

TRANSFORM agregavimo_funkcija
sakinys_select
PIVOT pivot_laukas [IN (1reikšmė[, 2reikšmė[, ...]])]

Sakinys TRANSFORM sudarytas iš šių dalių:

Dalis

Aprašas

agregavimo_funkcija

SQL agregavimo funkcija, veikianti su pasirinktais duomenimis.

sakinys_select

Sakinys SELECT.

pivot_laukas

Laukas arba išraiška, kurią norite naudoti, kad sukurtumėte stulpelių antraštes užklausos rezultatų rinkinyje.

reikšmė1, reikšmė2

Fiksuotos reikšmės, naudojamos stulpelių antraštėms kurti.

SQL rodinys neriboja lentelių ar užklausų skaičiaus, kurias galite naudoti kaip įrašų šaltinius kryžminei užklausai. iš pradžių sukūrus išrinkimo užklausą, pateikiančią visus pageidaujamus duomenis, tada naudojant šią išrinkimo užklausą kaip vienintelį įrašų šaltinį. Daugiau informacijos apie išrinkimo užklausos kūrimą žr. skyrių Taip pat žiūrėkite.

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

  2. Uždarykite dialogo langą Lentelės rodymas.

  3. Skirtuko lapo Dizainas grupėje Rodiniai spustelėkite Rodinys, tada spustelėkite SQL rodinys.

  4. Skirtuke SQL objektas įveskite arba įklijuokite šiuos SQL:

    TRANSFORM 
    SELECT
    FROM
    GROUP BY
    PIVOT
    ;
  5. Pirmoje eilutėje po TRANSFORM įveskite išraišką, naudojamą skaičiuojant suvestinės reikšmes, pvz., Sum([Amount]).

    Jei naudojate daugiau nei vieną lentelę arba užklausą kaip įrašų šaltinį, įtraukite lentelės ar užklausos pavadinimą kaip kiekvieno lauko dalį, pvz., Sum([Expense].[Amount]).

  6. Antroje eilutėje po SELECT įveskite laukų sąrašą arba laukų išraiškas, kurias norite naudoti eilučių antraštėms. Sąrašo elementus atskirkite kableliais; pvz., [Budget].[Dept_ID], [Expense].[Type].

  7. Trečiojoje eilutėje po FROM įveskite lentelių arba užklausų sąrašą, kurias naudojate kaip įrašų šaltinius, pvz., biudžetas, išlaidos.

  8. Ketvirtojoje eilutėje po GROUP BY įveskite tą patį laukų sąrašą, kurį naudojote SELECT sakinyje atlikdami 6 žingsnį.

  9. Penktoje eilutėje po PIVOT įveskite lauko arba išraiškos pavadinimą, kurį norite naudoti stulpelių antraštėms, pvz., PIVOT [Budget].[Year].

Norėdami įtraukti rūšiavimo užklausą į kryžminę užklausą SQL rodinyje, naudokite sąlygą ORDER BY.

  1. Įterpkite eilutę tarp GROUP BY sąlygos ir PIVOT sąlygos.

  2. Naujoje eilutėje įveskite ORDER BY, tada – tarpą.

  3. Įveskite lauko pavadinimą arba išraišką, pagal kurią norite rūšiuoti, pvz., ORDER BY [Expense].[Expense_Class]

    Pagal numatytuosius nustatymus sąlyga ORDER BY rūšiuoja reikšmes didėjimo tvarka. Jei norite rūšiuoti mažėjimo tvarka, įveskite DESC po lauko pavadinimu ar išraiška.

  4. Jei norite rūšiuoti pagal papildomą lauką ar išraišką, įveskite kablelį, tada įveskite papildomo lauko pavadinimą arba išraišką. Rūšiavimas atliekamas ta tvarka,kuria laukai ar išraiškos rodomos sąlygoje ORDER BY.

  • PIVOT sąlygos pabaigoje kryžminės užklausos SQL rodinyje įveskite IN, tada kableliais atskirtų reikšmių sąrašą (išskirtą skliaustais), kad būtų naudojamas kaip stulpelių antraštės. Pavyzdžiui, IN (2007, 2008, 2009, 2010) sukuria keturias stulpelių antraštes: 2007, 2008, 2009, 2010.

Nurodžius fiksuotą reikšmę, kuri neatitinka lauko reikšmė iš lauko suvestinės, ta fiksuota reikšmė tampa tuščio stulpelio antrašte.

  1. Įterpkite naują eilutę po sąlyga FROM savo kryžminės užklausos SQL rodinyje.

  2. Įveskite WHERE ir lauko kriterijų.

    Jei norite naudoti papildomus kriterijus, galite naudoti AND ir OR operatorius, kad išplėstumėte sąlygą WHERE. Taip pat galite naudoti skliaustus, kad sugrupuotumėte kriterijus į loginius rinkinius.

Kartais vietoje kiekvienos lauko reikšmės naudojimo eilutės ir stulpelio antraštei norite sugrupuoti lauko reikšmes į diapazonus, tada juos naudoti eilučių ar stulpelių antraštėms. Tarkim, stulpelių antraštėms naudojate lauką „Amžius“. Vietoj to, kad naudotumėte po stulpelį kiekvienam amžiui, norite naudoti stulpelius, atitinkančius amžiaus diapazonus, pvz., 40–49.

Išraiškoje galite naudoti funkciją IIf, kad sukurtumėte diapazonus, naudojamus eilučių ar stulpelių antraštėms.

Patarimas : Jei norite kurti intervalus su lauku Data / laikas, naudokite Kryžminių užklausų vediklį. Vediklis leidžia grupuoti datas į intervalus: Metai, Ketvirtis, Mėnuo, Data ar Data / laikas. Jei netinka nė vienas šių intervalų, kryžminę užklausą kurkite dizaino rodinyje ir naudokite šiame skyriuje aprašytą būdą, kad sukurtumėte norimus intervalus.

  1. Rodinyje Dizainas atidarykite kryžminę užklausą.

  2. Užklausos dizaino tinklelyje, eilutėje Laukas, dešiniuoju pelės mygtuku spustelėkite tuščią stulpelį, tada laikinajame meniu spustelėkite Mastelis.

  3. Lauke Mastelis įveskite lauko pseudonimą ir dvitaškį (:).

  4. Įveskite IIf().

  5. Skliaustuose po IIf įveskite palyginimo išraišką, kuri apibrėžia pirmąjį lauko reikšmių diapazoną.

    Pvz., tarkim kuriate lauko Amžius diapazonus ir norite, kad kiekvienas diapazonas būtų dvidešimt metų. Pirmojo diapazono palyginimo išraiška yra [Amžius]<21.

  6. Po palyginimo išraiškos įveskite kablelį, tada įveskite diapazono pavadinimą, išskirtą kabutėmis. Pateiktas pavadinimas bus reikšmių, patenkančių į diapazoną, kryžminė antraštė.

    Pvz., po [Age]<21 įveskite kablelį, o tada – „0-20 metų“.

  7. Po diapazono pavadinimo įveskite kablelį (po kabučių) ir atlikite vieną iš šių veiksmų:

    • Norėdami sukurti kitą diapazoną, įveskite IIf() pakartokite 5, 6 ir 7 veiksmus.

    • Paskutiniam diapazonui tiesiog įveskite diapazono pavadinimą.

      Pvz., užbaigta, įdėtoji IIf išraiška, kuri išskiria lauką Amžius į dvidešimties metų diapazonus, gali atrodyti taip (eilučių lūžiai pridėti, kad būtų lengviau skaityti):

      IIf([Age]<21,"0-20 years",
      IIf([Age]<41,"21-40 years",
      IIf([Age]<61,"41-60 years",
      IIf([Age]<81,"61-80 years", "80+ years"))))

      Pastaba : Kai „Access“ vertina išraišką, vertinimas sustabdomas kai tik vienas iš IIf sakinių įvertinimas kaip teisingas. Nereikia nurodyti kiekvieno diapazono žemiausios reikšmės, nes bet kokia reikšmė, mažesnė nei žemiausia reikšmė, jau būtų įvertinta kaip teisinga.

  8. Užklausos dizaino tinklelyje, eilutėje Suma, pažymėkite Grupuoti pagal.

  9. Eilutėje Kryžminė nurodykite, ar norite naudoti diapazonus kaip eilučių antraštes ar stulpelių antraštes. Atminkite, kad galite nurodyti nuo vienos iki trijų eilučių antraščių, ir vieną stulpelio antraštę.

Galite nustatyti kryžminę užklausą taip, kad ji prašytų įvesties. Pvz., tarkim naudojate kelias eilučių antraštes, viena iš jų – Šalis/regionas. Vietoj to, kad visada būtų rodomi kiekvienos šalies ar regiono duomenys, galite nustatyti užklausą, kad ji prašytų pavadinimo ir tada rodytų duomenis, pagal vartotojo įvestį.

Raginimą įvesti parametrą galite įtraukti bet kuriame eilutės antraštės lauke.

Pastaba : Taip pat galite įtraukti parametro raginimą į stulpelio antraštės lauką, tačiau tai neribos rodomų stulpelių.

  1. Rodinyje Dizainas atidarykite kryžminę užklausą.

  2. Eilutėje Kriterijai, eilutės antraštės lauke, kuriame vartotojas bus paragintas įvesti duomenis, įveskite klausimą apskliaustą laužtiniais skliaustais. Klausimo tekstas bus rodomas kaip raginimas paleidus užklausą.

    Pvz., jei įvesite [Kuri šalis ar regionas?] eilutėje Kriterijai, paleidus užklausą, rodomas dialogo langas su klausimu „Kuri šalis ar regionas?“, įvesties laukas ir mygtukas Gerai.

    Patarimas : Jei norite, kad parametras būtų lankstesnis, sujunkite išraišką su pakaitos simboliais, naudodami operatorių Like. Pvz., vietoj kriterijaus [Kuri šalis ar regionas?] galite naudoti Like [Kuri šalis ar regionas?]&"*", kad parametras atitiktų didesnį įvesties diapazoną. Naudojant Like raginimo įvesti parametrą išvaizda nepasikeičia.

  3. Skirtuko lapo Dizainas grupėje Rodyti/slėpti spustelėkite Parametrai.

  4. Dialogo lange Užklausos parametrai, stulpelyje Parametrai įveskite tą patį raginimą įvesti parametrą, kurį naudojote eilutėje Kriterijai. Įveskite laužtinius skliaustus, bet neįveskite jokių sujungtų pakaitos simbolių ar operatoriaus Like.

  5. Stulpelyje Duomenų tipas pažymėkite parametro duomenų tipą. Duomenų tipas turi atitikti eilutės antraštės lauko duomenų tipą.

Jei lauke, kurį naudojate suvestinėms reikšmėms apskaičiuoti kryžminėje užklausoje, yra neapibrėžtų reikšmių, tos reikšmės ignoruojamos bet kokios naudojamos sudėtinės funkcijos. Kai kurios sudėtinės funkcijos gali paveikti rezultatus. Pvz., norėdami apskaičiuoti vidurkį, įtraukiate visas reikšmes ir padalinate rezultatą iš reikšmių skaičiaus. Bet jei lauke yra neapibrėžtų reikšmių, tos neapibrėžtos reikšmės neskaičiuojamos kaip reikšmių skaičiaus dalis.

Kai kuriais atvejais, norėsite neapibrėžtas reikšmes pakeisti nuliais, kad reikšmės būtų skaičiuojamos sudėtinių skaičiavimų metu. Galite naudoti funkciją Nz, kad neapibrėžtas reikšmes pakeistumėte nuliais.

Nz sintaksė

Nz ( variantas [, valueifnull ] )

Funkcijos Nz sintaksės argumentai:

Argumentas

Aprašas

variantas

Būtinas. duomenų tipasVarianto kintamasis.

valueifnull

Pasirinktinis (nebent naudojamas užklausoje). Variantas, kuris suteikia grąžinamą reikšmę, jeigu argumente variantas yra Neapibrėžta reikšmė (Null). Naudodami šį argumentą galite grąžinti kitą reikšmę nei nulis arba nulinio ilgio eilutė.

Pastaba : Jeigu funkciją Nz naudojate užklausos išraiškoje, nenaudodami argumento reikšmė_jei_neapibrėžta laukuose, kuriuose yra neapibrėžtos reikšmės, gausite nulinio ilgio eilutes.

  1. Kai užklausa atidaryta dizaino rodinyje, užklausos dizaino tinklelyje dešiniuoju pelės mygtuku spustelėkite lauką Reikšmė.

  2. Laikinajame meniu spustelėkite Mastelis.

  3. Lauke Mastelis apskliauskite lauko pavadinimą ar išraišką skliaustais ir prieš skliaustus įveskite Nz.

  4. Dešiniuosiuose skliaustuose įveskite , 0.

    Pvz., jei norėdami pakeisti neapibrėžtas reikšmes į nulius naudojote Nz su lauku pavadintu „Hours Lost“, baigta išraiška turėtų atrodyti taip:

Nz([Hours Lost], 0)

  • Išsaugokite paprastumą    Kryžmines užklausas gali būti sunku skaityti, jei naudojate didelį eilučių derinių skaičių. Nenaudokite daugiau eilučių antraščių, nei jums reikia.

  • Kurkite kryžminę užklausą po vieną veiksmą    Neapsiribokite vien lentelėmis. Dažnai galite pradėti sukurdami bendrosios sumos užklausa ir tada naudoti šią užklausą kaip kryžminės užklausos įrašų šaltinį.

  • Atidžiai rinkitės stulpelio antraštės lauką    Kryžminius duomenų lapus paprastai lengviau skaityti, kai stulpelių antraščių skaičius yra sąlyginai mažas. Nurodę laukus, kuriuos norite naudoti kaip antraštes, stulpelio antraštei naudokite lauką, kuriame mažiausiai skirtingų reikšmių. Pvz., jei užklausa apskaičiuoja reikšmę pagal amžių ir lytį, stulpelių antraštėms naudokite lytį, o ne amžių, nes lytis turi mažiau reikšmių nei amžius.

  • Naudoti antrinę užklausą sąlygoje WHERE    Galite naudoti antrinę užklausą kaip kryžminės užklausos sąlygos WHERE dalį.

Puslapio viršus

Taip pat žr.

Paprastos išrinkimo užklausos kūrimas

Lentelių ir užklausų sujungimas

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×