Kereszttáblás lekérdezés használata az összesített adatok könnyebb értelmezése érdekében

Ha meg szeretné könnyíteni az Accessbeli adatok áttekintését és értelmezését, érdemes kereszttáblás lekérdezést használnia. A kereszttáblás lekérdezés összeget, átlagot vagy más összesítő függvényt számít ki, majd két értékkészletben csoportosítja az eredményeket – egyiket az adatlap oldalán függőlegesen, a másikat a tetején vízszintesen. Kattintson a menüszalag Létrehozás fülére, majd a Lekérdezések csoport Lekérdezés varázsló menügombjára. Az Új lekérdezés párbeszédpanelen kattintson duplán a Kereszttáblás lekérdezés varázsló elemre.

Ha az oszlopfejlécek egyik készlete tartalmazza a dátumértékeket, a varázsló segítségével szabványos intervallumokba – például hónapokba vagy negyedévekbe – csoportosíthatja a rekordokat.

Tartalom

Áttekintés

Kereszttáblás lekérdezés létrehozása a Kereszttáblás lekérdezés varázslóval

Kereszttáblás lekérdezés létrehozása Tervező nézetben

Kereszttáblás lekérdezés létrehozása SQL nézetben

Tartományok és intervallumok használata fejlécekhez

Paraméter kérése a sorfejlécek korlátozására

Null értékek helyettesítése nullákkal

Tippek a kereszttáblás lekérdezések használatához

Megjegyzés : A kereszttáblás lekérdezések nem érhetők el az Access-webappokban, és csak részben támogatottak a webes adatbázisokban: azok nem minden webes objektumban használhatók.

Áttekintés

A kereszttáblás lekérdezés egy típusú választó lekérdezés. Kereszttáblás lekérdezés futtatásakor az eredmények az adatlapok egyéb típusaitól eltérő struktúrájú adatlapon jelennek meg.

Amint az alábbi ábrán látható, a struktúrájának köszönhetően a kereszttáblás lekérdezés könnyebben értelmezhető, mint az ugyanazon adatokat megjelenítő választó lekérdezés.

Azonos adatokat megjelenítő választó és kereszttáblás lekérdezés

1. A választó lekérdezés az összesített adatokat munkavállaló és kategória szerint függőlegesen csoportosítja.

2. A kereszttáblás lekérdezés megjelenítheti ugyanazokat az adatokat, de vízszintesen és függőlegesen is csoportosítja az adatokat, így az adatok tömörebben jelennek meg, és könnyebben olvashatók.

Kereszttáblás lekérdezés létrehozásakor megadhatja, hogy mely mezők tartalmaznak sorfejléceket, oszlopfejléceket, illetve összegzendő értékeket. Oszlopfejlécek és összegzendő értékek megadása esetén csak egy mezőt használhat, míg sorfejlécek megadása esetén akár három mezőt is.

A sor- és oszlopfejléceket, illetve az összesítendő értékeket kifejezések használatával is létrehozhatja. További információt Az SQL összesítő függvényei című témakör tartalmaz.

Kereszttáblás lekérdezés ábrája

1. Ezen az oldalon egy, két, vagy három oszlop sorfejléceket tartalmaz. A sorfejlécként használt mezők neve az oszlopok felső sorában jelenik meg.

2. A sorfejlécek itt jelennek meg. Egynél több sorfejlécmező használata esetén a kereszttáblás adatlapon gyorsan nő a sorok száma, mert a sorfejlécek minden egyes kombinációja megjelenik.

3. Az ezen az oldalon lévő oszlopok oszlopfejléceket és összegzett értékeket tartalmaznak. Mint látható, az oszlopfejlécmező neve nem jelenik meg az adatlapon.

4. Az összegzett értékek itt láthatók.

A kereszttáblás lekérdezés létrehozásának módjai

A Kereszttáblás lekérdezés varázsló használata:    A Kereszttáblás lekérdezés varázsló használata általában a kereszttáblás lekérdezés létrehozásának leggyorsabb és legegyszerűbb módja. A varázsló a munka nagy részét elvégzi Ön helyett, de nem biztosít pár lehetőséget.

A varázsló előnyei:

  • Egyszerűen használható. A használatához elindítja a varázslót, majd megválaszol egy sor irányított kérdést.

  • A varázsló automatikusan intervallumokba csoportosítja a dátumokat. Ha az oszlopfejlécekhez dátumot/időpontot tartalmazó mezőt használ, a varázsló segít intervallumokba csoportosítani az adatokat, például a hónapokat vagy a negyedéveket is.

    Tipp : Ha egy Dátum/idő mező értékeit szeretné az oszlopfejlécekhez felhasználni, de a varázsló által biztosított intervallumokba (például pénzügyi év vagy kétéves időszak) szeretné csoportosítani a dátumokat, ne használja a varázslót a lekérdezés létrehozásához. Ehelyett hozza létre a kereszttáblás lekérdezést Tervező nézetben, és kifejezést használva hozza létre az intervallumokat.

  • Kiindulópontként használható. A varázslóval létrehozhatja a kívánt egyszerű kereszttáblás lekérdezést, majd Tervező nézetben az igényeinek megfelelően módosíthatja.

Nem végezheti el azonban a varázslóval az alábbi műveleteket:

  • egynél több tábla vagy lekérdezés használata rekordforrásként;

  • mezők létrehozása kifejezés használatával;

  • paraméterkérdés hozzáadása;

  • rögzített értéklista megadása oszlopfejlécként való használatra.

    A varázsló utolsó lépésében választhatja a lekérdezés módosítását Tervező nézetben. Ez lehetővé teszi a varázsló által nem támogatott lekérdezésterv-elemek, például további rekordforrások hozzáadását.

Munka Tervező nézetben:     A Tervező nézetben jobban szabályozhatja a lekérdezéstervet. A nézet támogatja a varázslóban nem elérhető funkciókat.

Kereszttáblás lekérdezés létrehozásához akkor érdemes Tervező nézetet használnia, ha:

  • nagyobb felügyeletet szeretne a folyamat felett. Azt szeretné, hogy bizonyos kérdésekben a varázsló döntsön Ön helyett;

  • egynél több táblát vagy lekérdezést szeretne rekordforrásként használni;

  • paraméterkérdést szeretne a lekérdezéshez hozzáadni;

  • kifejezéseket szeretne használni a lekérdezésben;

  • rögzített értéklistát kíván megadni oszlopfejlécként való használatra;

  • gyakorolni szeretné a tervezőrács használatát.

Lekérdezés írása SQL nézetben:    Tetszés szerint SQL nézetben is írhat kereszttáblás lekérdezést. SQL nézetben azonban nem adhatja meg a paraméter adattípusait. Ha a kereszttáblás lekérdezésben paramétert szeretne használni, a lekérdezés módosításával a Tervező nézetben meg kell adnia a paraméter adattípusát.

Tipp : Ne feledje, hogy nem csak egyetlen módon hozhat létre kereszttáblás lekérdezéseket. A varázsló használatával létrehozhatja a lekérdezést, majd Tervező nézetben módosíthatja a lekérdezéstervet.

Vissza a lap tetejére

Kereszttáblás lekérdezés létrehozása a Kereszttáblás lekérdezés varázslóval

A Kereszttáblás lekérdezés varázsló használata esetén csak egyetlen táblát vagy lekérdezést használhat a kereszttáblás lekérdezés rekordforrásaként. Ha a kereszttáblás lekérdezésben szerepeltetni kívánt adatok több táblában találhatók, először hozzon létre egy, a kívánt adatokat visszaadó választó lekérdezést. A választó lekérdezések létrehozásáról a Lásd még című szakasz hivatkozásait követve talál részletesebb információkat.

Ehhez a példához létrehozunk egy kereszttáblás lekérdezést a Northwind mintaadatbázis Termékek tábláját használva. Szeretnénk megjeleníteni az egyes kategóriákban lévő termékek számát minden szállító esetén.

  1. A Létrehozás lap Lekérdezések csoportjában kattintson a Lekérdezés varázsló menügombra. Ha az Access 2007-et használja, akkor a Létrehozás > Egyéb > Lekérdezés varázsló gombra kattintson.

    Az Access menüszalagjának Lekérdezések csoportjában két lehetőség látható: Lekérdezés varázsló és Lekérdezéstervező
  2. Az Új lekérdezés párbeszédpanelen válassza a Kereszttáblás lekérdezés varázsló elemet, majd kattintson az OK gombra.

    Elindul a Kereszttáblás lekérdezés varázsló.

  3. A varázsló első lapján válassza ki a kereszttáblás lekérdezés létrehozásához használni kívánt táblát vagy lekérdezést. Ehhez a példához válassza a Termékek táblát, és kattintson a Tovább gombra.

    A Kereszttáblás lekérdezés varázslóban jelöljön ki egy táblát vagy lekérdezést.
  4. A következő lapon válassza ki a sorfejlécekként használni kívánt értékeket tartalmazó mezőt. Sorfejlécforrásként legfeljebb három mezőt jelölhet ki, de minél kevesebb sorfejlécet használ, annál könnyebben olvasható lesz a kereszttáblás adatlap. Ha több mezőt jelöl ki a sorfejlécek forrásaként, a mezők kijelölésének sorrendje határozza meg az eredmények alapértelmezett rendezési sorrendjét.

    Ehhez a példához válassza a Szállítói azonosítók.Érték elemet, majd kattintson a > szimbólumot megjelenítő gombra. Figyelje meg, hogy az Access a párbeszédpanel alján a példalekérdezés előnézetének bal oldalán jeleníti meg a mezőnevet. A folytatáshoz kattintson a Tovább gombra.

    A Kereszttáblás lekérdezés varázslóban jelölje ki a sorfejlécekként megjelenítendő mezőt.
  5. A következő lapon válassza ki az oszlopfejlécekként használni kívánt értékeket tartalmazó mezőt. Az eredmény könnyű áttekinthetőségének érdekében általában olyan mezőt célszerű választani, amely kevés értéket tartalmaz, így például a nagyszámú lehetséges értékkel (például kor) rendelkezőkkel szemben csak néhány lehetséges értéket (például a nemet) tartalmazókat.

    Ha Dátum/Idő adattípussal rendelkező mezőt választ oszlopfejlécekhez való használatra, a varázsló egy további lépésében megadhatja a dátumok intervallumokba (például hónapokra vagy negyedévekre) való csoportosításának módját.

    Ehhez a példához válassza a Kategória elemet, és figyelje meg, hogy az Access a párbeszédpanel alján a példalekérdezés előnézetének tetején jeleníti meg a példabeli kategórianeveket. A folytatáshoz kattintson a Tovább gombra.

    A Kereszttáblás lekérdezés varázslóban jelölje ki a sorfejlécekként megjelenítendő mezőt.
  6. Ha Dátum/Idő típusú mezőt választ az oszlopfejlécekhez, a varázsló a következő oldalon rákérdez a dátumok csoportosítására szolgáló intervallumra. A választható lehetőségek: Év, Negyedév, Hónap, Dátum és Dátum/Idő. Ha nem Dátum/Idő típusú mezőt választ az oszlopfejlécekhez, ez a lap nem jelenik meg.

  7. A következő lapon kiválaszthatja az összegzett értékek kiszámítására szolgáló mezőt és függvényt. A kiválasztott mező adattípusa határozza meg, hogy mely funkciók érhetők el.

    Ugyanezen a lapon az Igen, legyenek sorösszegek jelölőnégyzet a sorösszegek szerepeltetésére, illetve kizárására szolgál.

    Ha szerepelteti a sorösszegeket, a kereszttáblás lekérdezés további, a mezőértékkel azonos mezőt és függvényt használó sorfejlécet tartalmaz. A sorösszeg szerepeltetésekor egy további oszlop jelenik meg, amely összegzi a többi oszlopot. Ha például a kereszttáblás lekérdezés a számított átlagéletkort jeleníti meg hely és nem szerint (az oszlopfejlécekben a nemeket szerepeltetve), akkor az új oszlopban az egyes helyeken érvényes átlagéletkor szerepel, nemtől függetlenül.

    Ehhez a példához válassza az Azonosító elemet a Mezők mezőben és a Szám elemet a Függvények mezőben ahhoz, hogy az Access a szállító és a kategória minden metszetében összeszámolja a termékek számát. Hagyja bejelölve az Igen, legyenek sorösszegek jelölőnégyzetet. Az Access létrehoz egy oszlopot, amely összegzi az egyes szállítók termékeinek számát. A folytatáshoz kattintson a Tovább gombra.

    Jelöljön ki egy mezőt és egy függvényt a számításhoz a Kereszttáblás lekérdezés varázslóban.
  8. A varázsló utolsó lapján írja be a lekérdezés nevét, és adja meg, hogy megtekinti az eredményt, vagy módosítja a lekérdezéstervet.

    Az új sorösszegek kiszámítására használt függvényt a kereszttáblás lekérdezés Tervező nézetben való szerkesztésével módosíthatja.

  9. Ha a Northwind adatbázis Termékek tábláját használva haladt végig a példa lépésein, a kereszttáblás lekérdezés sorokként jeleníti meg a szállítónevek listáját és oszlopokként a termékkategória-neveket és az egyes metszetekben lévő termékek számát.

    Adatlap nézetben megjelenített, szállítókat és termékkategóriákat tartalmazó kereszttáblás lekérdezés.

Vissza a lap tetejére

Ha Tervező nézetet használva hoz létre kereszttáblás lekérdezést, annyi rekordforrást (táblát és lekérdezést) használ, amennyit csak szeretne. Egyszerű maradhat a lekérdezésterv, ha először létrehoz egy választó lekérdezést, amely visszaadja az összes kívánt adatot, majd azt a lekérdezést használja az egyedüli rekordforrásként a kereszttáblás lekérdezéshez. A választó lekérdezés létrehozásáról a Lásd még című szakasz hivatkozásait követve talál részletesebb információkat.

Amikor Tervező nézetben létrehoz egy kereszttáblás lekérdezést, a tervezőrács Összesen és Kereszttábla sorai segítségével adhatja meg, hogy mely mező értékei váljanak oszlopfejlécekké, illetve sorfejlécekké, valamint hogy mely mező értékeit kívánja összegezni, átlagolni, megszámlálni vagy más számításhoz felhasználni.

Kereszttáblás lekérdezés részei Tervező nézetben

1. A sorok beállításai határozzák meg, hogy a mező sorfejléc, oszlopfejléc vagy összegzett érték-e.

2. Ez a beállítás sorfejlécekként jeleníti meg a mező értékeit.

3. Ez a beállítás oszlopfejlécekként jeleníti meg a mező értékeit.

4. Ez a beállítás az összesítő értékek előállítására szolgál.

A lekérdezés létrehozása

  1. Kattintson a Létrehozás lap Lekérdezések csoportjának Lekérdezéstervező gombjára. Ha Access 2007-et használ, kattintson a Létrehozás > Egyéb > Lekérdezéstervező gombra.

    Az Access menüszalagjának Lekérdezések csoportjában két lehetőség látható: Lekérdezés varázsló és Lekérdezéstervező
  2. A Tábla megjelenítése párbeszédpanelen kattintson duplán a rekordforrásként használni kívánt minden táblára vagy lekérdezésre.

    Több rekordforrás használata esetén ügyeljen arra, hogy a táblák vagy a lekérdezések a közös mezőkön keresztül kapcsolódjanak. A táblák és lekérdezések összekapcsolásáról a Lásd még című szakasz hivatkozásait követve talál részletesebb információkat.

  3. Zárja be a Tábla megjelenítése párbeszédpanelt.

  4. A Tervezés lap Lekérdezés típusa csoportjában kattintson a Kereszttáblás gombra

  5. A lekérdezéstervező ablakban kattintson duplán minden, a sorfejlécek forrásaként használni kívánt mezőre. Akár három mezőt is kijelölhet a sorfejlécekhez.

  6. A lekérdezéstervező rács Kereszttábla sorában minden sorfejlécmezőnél válassza a Sorfejléc lehetőséget.

    A Feltétel sorba beírt kifejezéssel korlátozhatja az adott mezőhöz tartozó eredményeket. Emellett a Rendezés sorban megadhatja a mező rendezési sorrendjét is.

  7. A lekérdezéstervező ablakban kattintson duplán az oszlopfejlécek forrásaként használni kívánt mezőre. Az oszlopfejlécekhez csak egy mezőt választhat.

  8. A lekérdezés tervezőrácsának Kereszttábla sorában az oszlopfejléchez tartozó mezőben válassza az Oszlopfejléc lehetőséget.

    A Feltétel sorba beírt kifejezéssel korlátozhatja az oszlopfejlécmezőhöz tartozó eredményeket, az oszlopfejlécmezőre alkalmazott szűrőkifejezés azonban nem korlátozza a kereszttáblás lekérdezés által visszaadott oszlopok számát, csak az adatokat tartalmazó oszlopokat. Így például egy három lehetséges értékkel (piros, zöld, kék) rendelkező oszlopfejlécmező esetén a ='kék' feltétel alkalmazása esetén a kereszttábla továbbra is megjeleníti a „piros” és a „zöld” értékhez tartozó oszlopot, de csak a „kék” érték oszlopa tartalmaz adatokat.

    Ha korlátozni szeretné az oszlopfejlécként megjelenített értékeket, a lekérdezés Oszlopfejléc tulajdonsága segítségével megadhat egy rögzített értékekből álló listát. További tudnivalók a következő szakaszban találhatók.

  9. A lekérdezéstervező ablakban kattintson duplán arra a mezőre, amelyet az összegzett értékek számítására kíván használni. Összegzendő értékekhez való használatra csak egy mezőt jelölhet kit.

  10. A lekérdezés tervezőrácsában az összegzett értékek mezőjének Összesen sorában válassza ki az értékek számítására használandó összesítő függvényt.

  11. Az összegzett értékek mezőjének Kereszttábla sorában válassza az Érték lehetőséget.

    Az összegzett értékek mezőjéhez nem adhat meg feltételt és nem rendezheti.

  12. A Tervezés lap Eredmények csoportjában kattintson a Futtatás gombra.

Rögzített értékek használata az oszlopfejlécekhez

A lekérdezés Oszlopfejléc tulajdonságában állíthatja be, hogy megadott rögzített értékeket szeretne használni az oszlopfejlécekhez.

  1. Nyissa meg a kereszttáblás lekérdezést Tervező nézetben.

  2. Ha a tulajdonságlap nem látható, jelenítse meg az F4 billentyű lenyomásával.

  3. Az Általános fül felett található tulajdonságlapon ellenőrizze, hogy A kijelölés típusa beállítás értéke Lekérdezés tulajdonságai. Ha nem, kattintson egy üres helyre a lekérdezéstervező rács feletti területen.

  4. A tulajdonságlap Általános lapján az Oszlopfej tulajdonságban, írja be az oszlopfejlécekként használni kívánt értékek vesszővel tagolt listáját.

    Bizonyos karakterek nem használhatók az oszlopfejlécekben (ilyen például a legtöbb írásjel). Ha ilyen karaktereket használ az értéklistában, az Access aláhúzásjellel (_) helyettesíti azokat.

Kereszttáblás lekérdezés SQL-szintaxisa

A kereszttáblás lekérdezés az SQL-ben TRANSFORM utasításként van kifejezve. A TRANSFORM utasítás szintaxisa:

TRANSFORM összesítőfüggvény
selectutasítás
PIVOT kimutatásmező [IN (érték1[, érték2[, ...]])]

A TRANSFORM utasítás az alábbi részekből áll:

Rész

Leírás

összesítőfüggvény

A kijelölt adatokat feldolgozó összesítő SQL-függvény.

selectutasítás

Egy SELECT utasítás.

kimutatásmező

Az a mező vagy kifejezés, amelyet a lekérdezés eredményhalmazában oszlopfejlécek létrehozásához szeretne használni.

érték1, érték2

Rögzített értékek az oszlopfejlécek létrehozásához.

Az SQL nézet nem korlátozza a kereszttáblás lekérdezésekhez rekordforrásként használható táblák vagy lekérdezések számát. Egyszerű maradhat a lekérdezésterv, ha először létrehoz egy választó lekérdezést, amely visszaadja a kereszttáblás lekérdezésben használni kívánt összes adatot, majd azt a választó lekérdezést használja rekordforrásként. A választó lekérdezés létrehozásáról a Lásd még című szakasz hivatkozásait követve talál részletesebb információkat.

  1. A Létrehozás lap Egyéb csoportjában kattintson a Lekérdezéstervező gombra.

  2. Zárja be a Tábla megjelenítése párbeszédpanelt.

  3. A Tervezés lap Nézetek csoportjában kattintson a Nézet gombra, majd válassza az SQL nézet lehetőséget.

  4. Az SQL-objektumlapon írja be a következő SQL-utasítást:

    TRANSFORM 
    SELECT
    FROM
    GROUP BY
    PIVOT
    ;
  5. Az első sorban a TRANSFORM utasítás után írja be az összegző értékek kiszámításához használandó kifejezést; például: Szum([Összeg]).

    Ha rekordforrásként több táblát vagy lekérdezést használ; az egyes mezőnevek részeként vegye fel a tábla- vagy lekérdezésnevet, például: Szum([Költség].[Összeg]).

  6. A második sorban a SELECT záradék után írja be a sorfejlécekként használni kívánt mezők vagy mezőkifejezések listáját. A listaelemeket vesszővel válassza el egymástól, például: [Költségvetés].[Részlegazonosító], [Költség].[Típus].

  7. A harmadik sorban a FROM záradék után írja be a rekordforrásokként használt táblák vagy lekérdezések listáját, például: Költségvetés, Költség.

  8. A negyedik sorban a GROUP BY záradék után írja be ugyanazt a mezőlistát, amelyet a 6. lépésben a SELECT záradékban használt.

  9. Az ötödik sorban a PIVOT záradék után írja be az oszlopfejlécekhez használni kívánt mezőnevet vagy kifejezést, például: PIVOT [Költségvetés].[Év].

Ha egy kereszttáblás lekérdezéshez rendezési sorrendet szeretne alkalmazni SQL nézetben, használjon ORDER BY záradékot.

  1. A GROUP BY és a PIVOT záradék közé szúrjon be egy sort.

  2. Az új sorba írja be az ORDER BY záradékot, majd egy szóközt.

  3. Írja be a mezőnevet vagy kifejezést, amely szerint rendezni szeretne, például: ORDER BY [Költség].[Költség_osztály]

    Az ORDER BY záradék növekvő sorrendbe rendezi az értékeket. Ha csökkenő sorrendbe szeretne rendezni, a mezőnév vagy kifejezés után írja be a DESC záradékot.

  4. Ha további mező vagy kifejezés alapján szeretne rendezni, írjon be egy vesszőt, majd a további mezőnevet vagy kifejezést. A rendezés abban a sorrendben történik, amelyben a mezők vagy kifejezések megjelennek az ORDER BY záradékban.

  • A kereszttáblás lekérdezés SQL nézetében a PIVOT záradék végén írja be az IN záradékot, majd az oszlopfejlécekként használni kívánt (zárójelek közé foglalt) értékek vesszővel elválasztott listáját. Az IN (2007, 2008, 2009, 2010) például négy oszlopfejlécet hoz létre: 2007, 2008, 2009, 2010.

Ha olyan rögzített értéket ad meg, amely nem felel meg a kimutatásmezőből származó mezőértéknek, a rögzített érték egy üres oszlop oszlopfejléce lesz.

  1. Szúrjon be egy új sort a FROM záradék után a kereszttáblás lekérdezés SQL nézetében.

  2. Írja be a WHERE záradékot, majd egy mezőfeltételt.

    Ha további feltételeket szeretne használni, az AND és az OR operátorokkal kibővítheti a WHERE záradékot. A feltételek zárójelek használatával is logikai készletekbe csoportosíthatók.

Bizonyos esetekben ahelyett, hogy egy mező minden értékét használná a sor- vagy oszlopfejlécekhez, célszerű a mező értékeit tartományokba csoportosítani, majd ezeket használni oszlopfejlécként. Tegyük fel például, hogy a „Kor” mezőt használja oszlopfejlécként. Ebben az esetben célszerűbb korcsoportokat képviselő oszlopokat használnia ahelyett, hogy minden egyes életkorhoz külön oszlopot használna.

A sor- vagy oszlopfejlécekben használandó tartományok létrehozásához használja az IIf függvényt a kifejezésben.

Tipp : Ha Dátum/Idő típusú mezővel szeretne intervallumokat létrehozni, érdemes a Kereszttáblás lekérdezés varázslót használni, amely lehetővé teszi a dátumok csoportosítását Év, Negyedév, Hónap, Dátum, illetve Dátum/Idő típusú intervallumokba. Ha más intervallumot szeretne használni, Tervező nézetben hozza létre a kereszttáblás lekérdezést, majd az itt leírt módszerrel hozza létre az intervallumokat.

  1. Nyissa meg a kereszttáblás lekérdezést Tervező nézetben.

  2. A lekérdezés tervezőrácsának Mező sorában kattintson a jobb gombbal egy üres oszlopra, majd válassza a Nagyítás parancsot.

  3. A Nagyítás mezőbe írjon be egy mezőaliast, majd egy kettőspontot (:).

  4. Írja be az IIf() függvénynevet.

  5. Az IIf kulcsszót követő zárójelek közé írja be az első mezőérték-tartományt definiáló összehasonlító kifejezést.

    Tegyük fel például, hogy a Kor mezőhöz kíván tartományokat létrehozni, mégpedig húsz éveseket. Az első tartományhoz tartozó összehasonlító kifejezés: [Kor]<21.

  6. Az összehasonlító kifejezés után vesszővel elválasztva írja be a tartomány nevét idézőjelbe téve. A megadott név lesz a tartományba eső értékek kereszttáblás fejléce.

    A [Kor]<21 kifejezés után például írjon egy vesszőt, majd a "0-20 év" szöveget.

  7. A tartománynév után írjon egy vesszőt (a záró idézőjel után), majd válasszon a következő lehetőségek közül:

    • Újabb tartomány létrehozásához írja be az IIf() függvénynevet, majd ismételje meg az 5, a 6 és a 7. lépést.

    • Az utolsó tartomány esetén csak a tartomány nevét írja be.

      Egy olyan beágyazott IIf kifejezés például, amely húsz éves tartományokra osztja fel a Kor mezőt, a következőképpen nézhet ki (az áttekinthetőség érdekében sortörést alkalmazva):

      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"))))

      Megjegyzés : A kifejezés kiértékelésekor az Access program az első igaz eredményt visszaadó IIf utasítás után megáll. A tartomány alsó határát nem kell megadnia, mivel minden, az adott tartomány alsó határa alatti érték eleve igaz értékű.

  8. A lekérdezés tervezőrácsának Összesítés sorában válassza a Csoportosítás lehetőséget.

  9. A Kereszttábla sorban adja meg, hogy sor- vagy oszlopfejlécként kívánja-e használni a tartományokat. Ne feledje, hogy legfeljebb három sorfejlécet és egy oszlopfejlécet adhat meg.

Előfordulhat, hogy szeretné, hogy a kereszttáblás lekérdezés futtatásakor bekérjen egy értéket. Tegyük fel például, hogy több sorfejlécet használ, amelyek egyike az Ország/régió. Ahelyett, hogy mindig megjelenítené az összes ország vagy régió adatait, a lekérdezés bekérhet egy nevet, majd a felhasználó által megadott érték szerint jeleníti meg az eredményt.

Bármely sorfejlécmezőhöz hozzáadhat paraméterkérdést.

Megjegyzés : Hozzáadhat egy paraméterkérdést is az oszlopfejlécmezőhöz, de ez nem korlátozza a megjelenő oszlopokat.

  1. Nyissa meg a kereszttáblás lekérdezést Tervező nézetben.

  2. A megfelelő sorfejlécmező Feltétel sorába írja be a kérdést szögletes zárójelben. Ez a szöveg fog kérdésként megjelenni a lekérdezés futtatásakor.

    Ha például az [Ország/régió?] szöveget írja be a Feltétel sorba, a lekérdezés futtatásakor megjelenik egy párbeszédpanel az „Ország/régió” kérdéssel, egy beviteli mezővel és egy OK gombbal.

    Tipp : Ha rugalmas paramétert kíván használni, használjon összefűzött kifejezést helyettesítő karakterekkel, a Like operátort használva. Így például az [Ország/régió?] feltétel helyett használhatja a Like [Ország/régió?]&"*" kifejezést, hogy a paraméter szélesebb tartományból fogadjon bemeneti értékeket. A Like operátor használata nem módosítja a paraméterkérdés megjelenését.

  3. A Tervezés lap Megjelenítés/elrejtés csoportjában kattintson a Paraméterek gombra.

  4. A Lekérdezésparaméterek párbeszédpanel Paraméterek oszlopába írja be ugyanazt a paraméterkérdést, amelyet a Feltétel sorban használt. Használjon szögletes zárójeleket, de összefűzött helyettesítő karaktereket vagy a Like operátort ne.

  5. Az Adattípus oszlopban válassza ki a paraméter adattípusát. Az adattípusnak egyeznie kell a sorfejlécmező adattípusával.

Ha a kereszttáblás lekérdezésben összegzett értékek számítására használt mező null értékeket tartalmaz, a használt összesítő függvények figyelmen kívül hagyják ezeket. Bizonyos összesítő függvények esetén ez befolyásolhatja az eredményt, például átlagszámításkor az értékek összegét az értékek számával osztja el, de ha a mező null értékeket tartalmaz, ezeket a függvény nem veszi figyelembe az értékek számában.

Bizonyos esetekben érdemes lehet a null értékeket nullákkal helyettesíteni, hogy ezeket is figyelembe vegyék az összesítő számítások. A null értékeknek nullákkal való helyettesítésére az Nz függvényt használhatja.

Az Nz függvény szintaxisa

Nz ( változó [, értékhanull ] )

Az Nz függvény argumentumai a következők:

Argumentum

Leírás

változó

Megadása kötelező. Egy adattípusváltozó.

értékhanull

Nem kötelező (kivéve, ha lekérdezésben használja). Egy Variant, amely megad egy eredményül adandó értéket, ha a változó argumentum null értékű. Ezzel az argumentummal nullától illetve nulla hosszúságú karakterlánctól különböző értéket adhat eredményül.

Megjegyzés : Ha az Nz függvényt egy lekérdezésben használja, és nem adja meg az értékhanull argumentum értékét, akkor a null értéket tartalmazó mezőkben nulla hosszúságú karakterláncot kap.

  1. Nyissa meg a lekérdezést Tervező nézetben, és lekérdezés tervezőrácsában kattintson a jobb gombbal az Érték mezőre.

  2. A helyi menüben kattintson a Nagyítás parancsra.

  3. A Nagyítás mezőben tegye zárójelbe a mezőnevet vagy a kifejezést, majd írja elé az Nz karaktereket.

  4. Írja be a , 0 karaktereket a záró zárójel elé.

    Ha például az „Elveszett idő” mezővel használja az Nz függvényt, a null értékek nullákkal való helyettesítéséhez használt végleges kifejezés így néz ki:

Nz([Hours Lost], 0)

  • Legyen egyszerű:    A kereszttáblás lekérdezések a sorkombinációk számának növekedésével áttekinthetetlenné válhatnak. Ne használjon a szükségesnél több sorfejlécet.

  • Érdemes lépésenként felépíteni a kereszttáblát:    Ne csak táblákat használjon. Gyakran érdemes előbb egy összegző lekérdezés készíteni, majd ezt használni a kereszttáblás lekérdezés rekordforrásaként.

  • Gondosan válassza meg az oszlopfejlécmezőt:    A kereszttáblás adatlapok könnyebben áttekinthetők, ha viszonylag kevés oszlopfejlécet tartalmaznak. Miután meghatározta a fejlécként használni kívánt mezőket, célszerű a legkevesebb különböző értékkel rendelkező mezőt használni az oszlopfejlécek létrehozására. Ha például a lekérdezés életkor és nem alapján számít ki egy értéket, érdemes a nemet használni oszlopfejlécekként, mivel ez rendszerint kevesebb különböző értéket jelent.

  • Segédlekérdezés használata WHERE záradékban:    A WHERE záradék részeként használhat segédlekérdezést a kereszttáblás lekérdezésekben.

Vissza a lap tetejére

Lásd még

Egyszerű választó lekérdezés létrehozása

Táblák és lekérdezések illesztése

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×