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
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.
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 meg kell adnia, hogy mely mezők tartalmaznak sorfejléceket, melyik mező tartalmaz oszlopfejléceket, és melyik mező tartalmaz összegzendő értékeket. Ha oszlopfejléceket és értékeket ad meg, csak egy mezőt használhat. Sorfejlécek megadásakor akár három mezőt is használhat.
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.
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.
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.
-
A Létrehozás lap Lekérdezések csoportjában kattintson a Lekérdezés varázsló menügombra.
-
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ó.
-
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 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.
Ebben a példában válassza a Supplier IDs.Value elemet, majd kattintson a > szimbólummal jelölt gombra. Figyelje meg, hogy az Access a mezőnevet a mintalekérdezés előnézetének bal oldalán, a párbeszédpanel alján jeleníti meg. A folytatáshoz kattintson a Tovább gombra.
-
A következő lapon válassza ki az oszlopfejlécként használni kívánt értékeket tartalmazó mezőt. Általában olyan mezőt kell választania, amely kevés értéket tartalmaz, hogy az eredmények könnyen olvashatók legyenek. Egy olyan mező használata például, amely csak néhány lehetséges értékkel rendelkezik (például nem), előnyösebb lehet olyan mezőt használni, amely számos különböző értéket (például kort) tartalmazhat.
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.
-
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.
-
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.
-
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.
-
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.
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.
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
-
Kattintson a Létrehozás lap Lekérdezések csoportjának Lekérdezéstervező gombjára.
-
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.
-
Zárja be a Tábla megjelenítése párbeszédpanelt.
-
A Tervezés lap Lekérdezés típusa csoportjában kattintson a Kereszttáblás gombra
-
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.
-
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.
-
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.
-
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írhat egy kifejezést az oszlopfejlécmező eredményeinek korlátozásához. A feltételkifejezések oszlopfejlécmezővel való használata azonban nem korlátozza a kereszttáblás lekérdezés által visszaadott oszlopok számát. Ehelyett korlátozza, hogy mely oszlopok tartalmaznak adatokat. Tegyük fel például, hogy van egy oszlopfejlécmezője, amely három lehetséges értékkel rendelkezik: piros, zöld és kék. Ha a ='kék' feltételt alkalmazza az oszlopfejlécmezőre, a kereszttáblán továbbra is megjelenik egy piros és egy zöld oszlop, de csak a kék oszlop 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.
-
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.
-
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.
-
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.
-
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.
-
Nyissa meg a kereszttáblás lekérdezést Tervező nézetben.
-
Ha a tulajdonságlap nem látható, jelenítse meg az F4 billentyű lenyomásával.
-
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.
-
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 aggfunction
selectstatement 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.
-
A Létrehozás lap Egyéb csoportjában kattintson a Lekérdezéstervező gombra.
-
Zárja be a Tábla megjelenítése párbeszédpanelt.
-
A Tervezés lap Nézetek csoportjában kattintson a Nézet gombra, majd válassza az SQL nézet lehetőséget.
-
Az SQL-objektumlapon írja be a következő SQL-utasítást:
TRANSFORM SELECT FROM GROUP BY PIVOT ;
-
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]).
-
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].
-
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.
-
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.
-
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.
-
A GROUP BY és a PIVOT záradék közé szúrjon be egy sort.
-
Az új sorba írja be az ORDER BY záradékot, majd egy szóközt.
-
Í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.
-
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.
-
Szúrjon be egy új sort a FROM záradék után a kereszttáblás lekérdezés SQL nézetében.
-
Í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ő mezővel szeretne intervallumokat létrehozni, fontolja meg a Kereszttáblás lekérdezés varázsló használatát. A varázsló lehetővé teszi a dátumok év, negyedév, hónap, dátum vagy dátum/idő intervallumba való csoportosítását. Ha ezek közül az intervallumok közül egyik sem az, amit szeretne, hozza létre a kereszttáblás lekérdezést Tervező nézetben, majd az ebben a szakaszban ismertetett módszerrel hozza létre a kívánt időközöket.
-
Nyissa meg a kereszttáblás lekérdezést Tervező nézetben.
-
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.
-
A Nagyítás mezőbe írjon be egy mezőaliast, majd egy kettőspontot (:).
-
Írja be az IIf() függvénynevet.
-
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.
-
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.
-
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ű.
-
-
A lekérdezés tervezőrácsának Összesítés sorában válassza a Csoportosítás lehetőséget.
-
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.
-
Nyissa meg a kereszttáblás lekérdezést Tervező nézetben.
-
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.
-
A Tervezés lap Megjelenítés/elrejtés csoportjában kattintson a Paraméterek gombra.
-
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.
-
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és összesítési értékeinek kiszámításához használt mező null értékeket tartalmaz, a rendszer ezeket az értékeket figyelmen kívül hagyja bármely összesítő függvény által. Egyes összesítő függvények esetében az eredmények hatással lehetnek. Egy átlag kiszámításához például össze kell adnia az összes értéket, és el kell osztania az eredményt az értékek számával. Ha azonban a mező null értékeket tartalmaz, a null értékek nem számítanak bele 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 Variantadattípus vá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. |
-
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.
-
A helyi menüben kattintson a Nagyítás parancsra.
-
A Nagyítás mezőben tegye zárójelbe a mezőnevet vagy a kifejezést, majd írja elé az Nz karaktereket.
-
Í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.