Hvis du vil gøre det lettere at læse og forstå oversigtsdata i Access, kan du overveje at bruge en krydstabuleringsforespørgsel. En krydstabuleringsforespørgsel beregner en sum, et gennemsnit eller en anden aggregeringsfunktion og grupperer derefter resultaterne efter to sæt af værdier – én placeret langs siden af dataarket og den anden placeret hen over toppen af arket. Klik på Opret på båndet, og klik derefter på Guiden Forespørgsel i gruppen Forespørgsel. Dobbeltklik på Guiden Krydstabuleringsforespørgsel i dialogboksen Ny forespørgsel.
Hvis et sæt overskrifter indeholder datoværdier, kan guiden hjælpe dig med at gruppere posterne efter standardintervaller – f.eks. måneder eller kvartaler.
I denne artikel
Bemærk!: Krydstabuleringsforespørgsler findes ikke i Access-webapps og understøttes kun delvist i en webdatabase: De kan ikke bruges af nogen webobjekter.
Oversigt
En krydstabuleringsforespørgsel er en form for vælg forespørgsel. Når du kører en krydstabuleringsforespørgsel, vises resultaterne i et dataark, der har en anden struktur end andre typer af dataark.
Strukturen af en krydstabuleringsforespørgsel kan gøre den nemmere at læse end en simpel udvælgelsesforespørgsel, der viser de samme data, som vist i nedenstående illustration.
1. Denne udvælgelsesforespørgsel grupperer opsummeringsdata lodret efter medarbejder og kategori.
2. En krydstabuleringsforespørgsel kan vise de samme data, men den grupperer dataene både vandret og lodret, så dataarket bliver mere kompakt og nemmere at læse.
Når du opretter en krydstabuleringsforespørgsel, angiver du, hvilke felter indeholder rækkeoverskrifter, hvilket felt indeholder kolonneoverskrifter, og hvilket felt indeholder værdier, der skal opsummeres. Du kan kun bruge ét felt for hver, når du angiver kolonneoverskrifter og værdier, der skal opsummeres. Du kan bruge op til tre felter, når du angiver rækkeoverskrifter.
Du kan også bruge et udtryk til at oprette rækkeoverskrifter, kolonneoverskrifter eller værdier, der skal opsummeres. Se SLQ-samlingsfunktioner for at få mere at vide.
1. Én, to eller tre kolonner på denne side indeholder rækkeoverskrifter. Navnene på de felter, som du bruger som rækkeoverskrifter, vises i øverste række i disse kolonner.
2. Rækkeoverskrifterne vises her. Antallet af rækker i krydstabuleringsdataarket kan øges hurtigt, når du bruger mere end ét rækkeoverskriftsfelt, fordi alle kombinationer af rækkeoverskrifter vises.
3. Kolonnerne på denne side indeholder kolonneoverskrifter og opsummeringsværdier. Bemærk, at navnet på kolonneoverskriftsfeltet ikke vises på dataarket.
4. Opsummeringsværdier vises her.
Metoder til at oprette din egen krydstabuleringsforespørgsel
Brug Guiden Krydstabuleringsforespørgsel Guiden Krydstabuleringsforespørgsel normalt er den hurtigste og nemmeste måde at oprette en krydstabuleringsforespørgsel på. Den gør det mest af arbejdet for dig, men der er flere valgmuligheder, som der ikke bliver foreslået i guiden.
Guiden har disse fordele:
-
Den er nemt at bruge. For at bruge den starter du bare guiden og besvarer derefter en række vejledende spørgsmål.
-
Den kan automatisk gruppere datoer i intervaller. Hvis du bruger et felt, der indeholder dato-/klokkeslætsdata til kolonneoverskrifter, hjælper guiden dig også med at gruppere datoerne i intervaller, f.eks. måneder eller kvartaler.
Tip!: Hvis du vil bruge værdier fra et dato/klokkeslæt-felt til kolonneoverskrifter, men vil gruppere datoerne i intervaller, som guiden ikke angiver, f.eks. regnskabsår eller biennium, skal du ikke bruge guiden til at oprette forespørgslen. Opret i stedet krydstabuleringsforespørgslen i designvisning, og brug et udtryk til at oprette intervallerne.
-
Den kan bruges som udgangspunkt. Du kan bruge guiden til at oprette den grundlæggende krydstabuleringsforespørgsel, du ønsker, og derefter finjustere forespørgslens design ved hjælp af designvisning.
Hvis du bruger guiden kan du dog ikke:
-
Bruge mere end én tabel eller forespørgelse som en postkilde.
-
Bruge en udtryk til at oprette felter.
-
Tilføj en parameterprompt.
-
Angiv en liste over faste værdier for at bruge dem som kolonneoverskrifter.
I det sidste trin i guiden kan du vælge at ændre forespørgslen i designvisning. Dette giver dig mulighed for at tilføje forespørgselsdesignelementer, som guiden ikke understøtter, f.eks. yderligere postkilder.
Arbejd i Designvisning Designvisning giver dig mere kontrol over dit forespørgselsdesign. Den understøtter de funktioner, der ikke er tilgængelige i guiden.
Overvej at bruge Designvisning til at oprette din krydstabuleringsforespørgsel, hvis du ønsker at:
-
Få mere kontrol over processen. Lade guiden træffe nogle beslutninger for dig.
-
Bruge mere end én tabel eller forespørgelse som en postkilde.
-
Føje en parameterprompt til din forespørgelse.
-
Bruge udtryk som felter i din forespørgsel.
-
Angiv en liste over faste værdier for at bruge dem som kolonneoverskrifter.
-
Øv dig ved hjælp af designgitter.
Skriv en forespørgsel i SQL-visning Du kan skrive en krydstabuleringsforespørgsel i SQL-visning, hvis du foretrækker det. Du kan dog ikke angive datatyper for parametre via SQL-visning. Hvis du vil bruge en parameter i din krydstabuleringsforespørgsel, skal du angive datatypen for parametren ved at ændre din forespørgsel i Designvisning.
Tip!: Husk – du er ikke begrænset til kun at bruge én metode til at oprette en krydstabuleringsforespørgsel. Du kan bruge guiden til at oprette forespørgslen og derefter bruge Designvisning til at ændre designet af forespørgslen.
Opret en krydstabuleringsforespørgsel ved hjælp af Guiden Krydstabuleringsforespørgsel
Guiden Krydstabuleringsforespørgsel kræver, at du skal vælge en enkelt tabel eller forespørgsel som posttype til din krydstabuleringsforespørgsel. Hvis en enkelt tabel ikke indeholder alle de data, du vil inkludere i din krydstabuleringsforespørgsel, skal du starte med at oprette en udvælgelsesforespørgsel, der returnerer de ønskede data. Du kan finde flere oplysninger om oprettelse af en udvælgelsesforespørgsel under afsnittet Se også.
I dette eksempel opretter vi en krydstabuleringsforespørgsel, hvor vi bruger tabellen Produkter i Northwind-eksempeldatabasen. Vi vil have vist en optælling af antallet af produkter i hver kategori fra alle leverandørerne.
-
Klik på Guiden Forespørgsel i gruppen Forespørgsler under fanen Opret.
-
Klik på guiden Krydstabuleringsforespørgsel i dialogboksen Ny forespørgsel, og klik derefter på OK.
Guiden Krydstabuleringsforespørgsel startes.
-
På den første side i guiden skal du vælge den tabel eller forespørgsel, du vil bruge til at oprette en krydstabuleringsforespørgsel. I dette eksempel skal du vælge tabellen Produkter og derefter klikke på Næste.
-
På næste side skal du vælge det felt, der indeholder de værdier, du vil bruge som rækkeoverskrifter. Du kan markere op til tre felter, du vil bruge som kilder til rækkeoverskrifter, men jo færre rækkeoverskrifter du bruger, jo lettere er det at læse dit krydstabuleringsdataark. Hvis du vælger mere end ét felt til angivelse af rækkeoverskrifter, bestemmer den rækkefølge, som du vælger felterne i, standardrækkefølgen, som resultaterne sorteres efter.
I dette eksempel skal du vælge Leverandør-id'er.Værdi og derefter klikke på knappen med et >-tegn. Læg mærke til, at feltnavnet i Access vises i venstre side af eksemplet af prøveforespørgslen i bunden af dialogboksen. Klik på Næste for at fortsætte.
-
På næste side skal du vælge det felt, der indeholder de værdier, du vil bruge som kolonneoverskrifter. Generelt skal du vælge et felt, der indeholder få værdier, for at gøre det nemmere at læse resultaterne. Brug af et felt, der kun har nogle få mulige værdier (f.eks. køn), kan f.eks. være at foretrække frem for at bruge et felt, der kan indeholde mange forskellige værdier (f.eks. alder).
Hvis det felt, du vælger at bruge til kolonneoverskrifter, indeholder datatypen Dato/klokkeslæt, tilføjes et trin i guiden, hvor du kan angive, hvordan datoerne grupperes i intervaller, f.eks. måneder eller kvartaler.
I dette eksempel skal du vælge Kategori og lægge mærke til, at der i Access vises eksempelnavne for kategorier langs toppen af eksempelvisningen af forespørgelser nederst i dialogboksen. Klik på Næste for at fortsætte.
-
Hvis du vælger et Dato/klokkeslæt-felt til kolonneoverskrifter, skal du på næste side i guiden angive det interval, som du vil bruge til gruppering af datoerne. Du kan angive År, Kvartal, Måned, Dato eller Dato og klokkeslæt. Hvis du ikke vælger et Dato/klokkeslæt-felt til kolonneoverskrifter, springes over denne side i guiden.
-
På næste side skal du vælge et felt og en funktion, som skal bruges til beregning af opsummeringsværdier. Datatypen for det valgte felt bestemmer, hvilke funktioner der er tilgængelige.
På samme side skal du markere eller fjerne markeringen i afkrydsningsfeltet Ja, medtag rækkesummer for at medtage eller udelade rækkesummer.
Hvis du medtager rækkesummer, har krydstabuleringsforespørgslen en ekstra rækkeoverskrift, der bruger det samme felt og fungerer som feltværdien. Hvis du medtager en rækkesum, indsættes en ekstra kolonne, der opsummerer de resterende kolonner. Hvis din krydstabuleringsforespørgsel f.eks. beregner gennemsnitsalderen efter placering og køn (med kolonneoverskrifter for køn), beregner den ekstra kolonne gennemsnitsalderen efter placering på tværs af alle køn.
I dette eksempel skal du vælge Id i feltet Felter og Antal i feltet Funktioner for automatisk at tælle antallet af produkter i hvert skæringspunkt mellem leverandør og kategori i Access. Lad afkrydsningsfeltet Ja, medtag rækkesummer forblive markeret. I Access oprettes der en kolonne, hvor antallet af produkter fra hver leverandør lægges sammen. Klik på Næste for at fortsætte.
-
På sidste side i guiden skal du skrive et navn til forespørgslen og derefter angive, om du vil have vist resultaterne eller ændre forespørgselsdesignet.
Du kan ændre den funktion, der bruges til at opnå rækkesummer, ved at redigere krydstabuleringsforespørgslen i designvisning.
-
Hvis du har gennemført dette eksempel ved hjælp af tabellen Produkter fra Northwind-databasen, viser krydstabuleringsforespørgslen listen over navne som rækker, navne på produktkategorier som kolonner og antallet af produkter i hvert skæringspunkt.
Ved at bruge Designvisning til at oprette din krydstabuleringsforespørgsel kan du bruge så mange postkilder (tabeller og forespørgsler), som du ønsker. Du kan dog holde designet simpelt ved først at oprette en udvælgelsesforespørgsel, der returnerer alle de data, du ønsker, og derefter bruge denne forespørgsel som den eneste postkilde til din krydstabuleringsforespørgsel. Du kan få mere at vide om oprettelse af en udvælgelsesforespørgsel under afsnittet Se også.
Når du opbygger en krydstabuleringsforespørgsel i designvisning, bruger du rækkerne Total og Krydstabulering i designgitteret til at angive, hvilket felts værdier skal anvendes som kolonneoverskrifter, hvilket felts værdier anvendes som rækkeoverskrifter, og hvilket felts værdier skal anvendes til opsummering, beregning af gennemsnit, optælling eller anden beregning.
1. Indstillingerne af disse rækker bestemmer, om feltet er en rækkeoverskrift, kolonneoverskrift eller en opsummeringsværdi.
2. Denne indstilling viser feltets værdier som rækkeoverskrifter.
3. Denne indstilling viser feltets værdier som kolonneoverskrifter.
4. Disse indstillinger beregner opsummeringsværdierne.
Opret forespørgslen
-
Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
-
Dobbeltklik på hver tabel eller forespørgsel i dialogboksen Vis tabel, som du ønsker at bruge som postkilde.
Hvis du bruger mere end én postkilde, skal du sikre dig, at tabellerne eller forespørgslerne er joinforbundet i felter, som de har til fælles. Du kan finde flere oplysninger om joinforbindelse af tabeller og forespørgsler under afsnittet Se også.
-
Luk dialogboksen Vis tabel.
-
Klik på Krydstabulering i gruppen Forespørgselstype under fanen Design.
-
Dobbeltklik på hvert felt, som du vil bruge som en kilde til rækkeoverskrifter, i forespørgselsdesignvinduet. Du kan vælge op til tre felter til rækkeoverskrifter.
-
Vælg Rækkeoverskrift på rækken Krydstabulering for hvert rækkeoverskriftsfelt i forespørgselsdesigngitteret.
Du kan skrive et udtryk på rækken Kriterier for at begrænse resultaterne for det pågældende felt. Du kan også bruge rækken Sortér til at angive en sorteringsrækkefølge for et felt.
-
Dobbeltklik på det felt, som du vil bruge som en kilde til kolonneoverskrifter, i forespørgselsdesignvinduet. Du kan kun vælge ét felt til kolonneoverskrifter.
-
Vælg Kolonneoverskrift på rækken Krydstabulering for kolonneoverskriftsfeltet i forespørgselsdesigngitteret.
Du kan skrive et udtryk på rækken Kriterier for at begrænse resultaterne for kolonneoverskriftsfeltet. Hvis du dog bruger et kriterieudtryk sammen med kolonneoverskriftsfeltet, begrænser det ikke antallet af kolonner, der findes med krydstabuleringsforespørgslen. I stedet begrænser det, hvilke kolonner indeholder data. Antag f.eks., at du har et kolonneoverskriftsfelt med tre positive værdier: rød, grøn og blå. Hvis du anvender kriteriet ='blå' på kolonneoverskriftsfeltet, vil krydstabuleringen stadig vise en kolonne for rød og en kolonne for grøn, men kun kolonnen for blå indeholder data.
Hvis du vil begrænse de værdier, der vises som kolonneoverskrifter, kan du angive en liste over faste værdier ved at bruge egenskaben Kolonneoverskrifter for forespørgslen. Du kan finde flere oplysninger i det næste afsnit.
-
Dobbeltklik på det felt, som du vil bruge til beregning af opsummeringsværdier, i forespørgselsdesignvinduet. Du kan kun vælge ét felt til brug i opsummeringsværdier.
-
Vælg en aggregeringsfunktion til beregning af værdierne på rækken Total for feltet med opsummeringsværdier i forespørgselsdesigngitteret.
-
Vælg Værdi på rækken Krydstabulering for feltet med opsummeringsværdier.
Du kan ikke angive kriterier for eller sortere ud fra feltet med opsummeringsværdier.
-
Klik på Kør i gruppen Resultater under fanen Design.
Angiv faste værdier til kolonneoverskrifter
Hvis du vil angive faste værdier til kolonneoverskrifter, kan du indstille egenskaben VisteKolonneoverskrifter for forespørgslen.
-
Åbn krydstabuleringsforespørgslen i designvisning.
-
Hvis egenskabsarket ikke er synligt, skal du trykke på F4 for at få det vist.
-
Lige over fanen Generelt i egenskabsarket skal du kontrollere, at der er valgt Egenskaber for forespørgsel under Markeringstype. Hvis det ikke er tilfældet, skal du klikke på et tomt sted i området over forespørgselsdesigngitteret.
-
Indtast en kommasepareret liste over værdier, som du vil bruge som kolonneoverskrifter, i egenskaben VisteKolonneoverskrifter under fanen Generelt i egenskabsarket.
Nogle tegn (f.eks. de fleste tegnsætningstegn) er ikke tilladt i kolonneoverskrifter. Hvis du bruger disse tegn på listen over værdier, erstatter Access et understregningstegn (_) med hvert af disse tegn.
SQL-syntaks for en krydstabuleringsforespørgsel
En krydstabuleringsforespørgsel udtrykkes som en TRANSFORM-sætning i SQL. En TRANSFORM-sætning har følgende syntaks:
TRANSFORM aggfunction
selectstatement PIVOT pivotfield [IN (værdi1[, værdi2[, ...]])]TRANSFORM-sætningen består af følgende dele:
Del |
Beskrivelse |
aggfunction |
En SQL-aggregeringsfunktion, der opererer på de markerede data. |
selectstatement |
En SELECT-sætning. |
pivotfield |
Det felt eller udtryk, du vil bruge til at oprette kolonneoverskrifter i resultatsættet for forespørgslen. |
værdi1, værdi2 |
Faste værdier, der bruges til at oprette kolonneoverskrifter. |
SQL-visning begrænser ikke antallet af tabeller eller forespørgsler, du kan bruge som postkilder til en krydstabuleringsforespørgsel. Du kan dog holde designet simpelt ved at oprette en udvælgelsesforespørgsel, der returnerer alle de data, du ønsker at bruge i krydstabuleringsforespørgsel, og derefter bruge denne udvælgelsesforespørgsel som postkilden. Du kan få mere at vide om oprettelse af en udvælgelsesforespørgsel under afsnittet Se også.
-
Klik på Forespørgselsdesign i gruppen Andre under fanen Opret.
-
Luk dialogboksen Vis tabel.
-
På fanen Design skal du i gruppen Visninger klikke på Vis og derefter klikke på SQL-visning.
-
I fanen SQL-objekt skal du skrive eller indsætte følgende SQL:
TRANSFORM SELECT FROM GROUP BY PIVOT ;
-
På den første linje efter TRANSFORM skal du skrive et udtryk, der bruges til at beregne sumværdier f.eks. Sum([Antal]).
Hvis du bruger mere end én tabel eller forespørgsel som postkilde, skal du medtage navnet på tabellen eller forespørgslen som en del af hvert feltnavn; f.eks. Sum([Udgift].[Antal]).
-
På den anden linje efter SELECT skal du skrive en liste over felter eller feltudtryk, du vil bruge til rækkeoverskrifter. Adskil listeelementerne ved hjælp af kommaer. f.eks. [Budget].[Dept_ID], [Udgift]. [Type].
-
På den tredje linje efter FRA skal du skrive en liste over de tabeller eller forespørgsler, du bruger som postkilder, f.eks. Budget, Udgift.
-
På fjerde linje efter GROUP BY skal du skrive den samme liste over felter, du har brugt i SELECT-delsætningen i trin 6.
-
På femte linjen efter PIVOT skal du skrive et feltnavn eller udtryk, du vil bruge som kolonneoverskrifter, f.eks. PIVOT [Budget].[År].
Hvis du vil føje en sorteringsrækkefølge til en krydstabuleringsforespørgsel i SQL-visning, skal du bruge en ORDER BY-delsætning.
-
Indsæt en linje mellem GROUP BY- og PIVOT-delsætningen.
-
På den nye linje skal du skrive ORDER BY efterfulgt af et mellemrum.
-
Skriv navnet eller udtrykket, du vil sortere efter. Eksempelvis ORDER BY [Udgift].[Udgiftsklasse]
Som standard sorterer en ORDER BY-delsætningen værdierne i stigende rækkefølge. Hvis du vil sortere i faldende rækkefølge, skal du skrive DESC efter feltnavnet eller udtrykket.
-
Hvis du vil sortere efter et yderligere felt eller udtryk, skal du skrive et komma og derefter skrive det andet feltnavn eller udtryk. Sortering forekommer i den rækkefølge, som felterne eller udtrykkene vises på i ORDER BY-delsætningen.
-
I slutningen af PIVOT-delsætningen i SQL-visning af din krydstabuleringsforespørgsel skal du skrive IN efterfulgt af en kommasepareret liste over værdier (omsluttet af parenteser), der kan bruges som kolonneoverskrifter. F.eks. giver IN (2007, 2008, 2009, 2010) fire kolonneoverskrifter: 2007, 2008, 2009, 2010.
Hvis du angiver en fast værdi, der ikke svarer til en feltværdi fra feltet PIVOT, bliver denne faste værdi en kolonneoverskrift i en tom kolonne.
-
Indsæt en ny linje efter FROM-delsætningen i SQL-visning i din krydstabuleringsforespørgsel.
-
Skriv WHERE efterfulgt af et feltkriterium.
Hvis du vil bruge flere kriterier, kan du bruge operatorerne AND og OR til at udvide din WHERE-delsætning. Du kan også bruge parenteser til at gruppere kriterier i logiske sæt.
Nogle gange vil du i stedet for at bruge hver enkelt værdi i et felt til række- eller kolonneoverskrifter gruppere værdierne i et felt i områder og derefter bruge disse områder til række- eller kolonneoverskrifter. Antag f.eks., at du bruger et "Alder"-felt til kolonneoverskrifter. I stedet for at bruge en kolonne for hver alder kan du foretrække at bruge kolonner, der repræsenterer aldersintervaller.
Du kan bruge funktionen Ilf i et udtryk til at oprette områder til brug i række- eller kolonneoverskrifter.
Tip!: Hvis du vil oprette intervaller med et Dato/Klokkeslæt-felt, skal du overveje at bruge guiden Krydstabuleringsforespørgsel. Guiden gør det muligt at gruppere datoer i intervallerne År, Kvartal, Måned, Dato eller Dato og klokkeslæt. Hvis ingen af disse intervaller er, som du ønsker, skal du oprette din krydstabuleringsforespørgsel i designvisning og derefter bruge den fremgangsmåde, der er beskrevet i dette afsnit, til at oprette de ønskede intervaller.
-
Åbn krydstabuleringsforespørgslen i designvisning.
-
Højreklik på en tom kolonne på rækken Felt i forespørgselsdesigngitteret, og klik derefter på Zoom i genvejsmenuen.
-
Skriv et feltalias efterfulgt af et kolon (:) i feltet Zoom.
-
Skriv IIf().
-
Skriv et sammenligningsudtryk, der definerer det første område af feltværdier, i parentesen, der efterfølger Ilf.
Antag f.eks., at du opretter områder til et Alder-felt, og du vil have, at hvert område skal omfatte 20 år. Sammenligningsudtrykket for det første område er [Alder]<21.
-
Indtast et komma efter sammenligningsudtrykket, og skriv derefter et navn på området i parentes. Det navn, du bruger, er krydstabuleringsoverskriften for værdier, der falder inden for området.
Skriv f.eks. et komma efter [Alder]<21, og skriv derefter "0-20 år".
-
Skriv et komma efter områdenavnet (uden for anførselstegnene), og gør derefter ét af følgende:
-
Skriv IIf() for at oprette endnu et område, og gentag derefter trin 5, 6 og 7.
-
Til det sidste område skal du blot skrive et navn til området.
Et komplet integreret Ilf-udtryk, der opdeler et aldersfelt i tyveårsområder, kunne f.eks. se ud som følger (der er tilføjet linjeskift for at øge overskueligheden):
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"))))
Bemærk!: Evalueringen af udtrykket i Access stoppes, så snart én af IIf-sætningerne evalueres som sand. Du behøver ikke at angive den laveste del af hvert område, fordi enhver værdi, der ligger under den laveste del af et givent område, allerede vil være evalueret som sand.
-
-
Vælg Gruppér efter på rækken Total i forespørgselsdesigngitteret.
-
På rækken Krydstabulering skal du angive, om der skal bruges områder som rækkeoverskrifter eller kolonneoverskrifter. Husk, at du kan angive fra én til tre rækkeoverskrifter og én kolonneoverskrift.
Du vil muligvis have, at krydstabuleringsforespørgslen beder om input, når den køres. Antag f.eks., at du bruger flere rækkeoverskrifter, og at en af dem er Land/Område. I stedet for altid at få vist data for hvert land eller område, kan du få forespørgslen til at bede dig angive et navn og derefter vises data i overensstemmelse med brugerens input.
Du kan føje en parametermeddelelse til ethvert rækkeoverskriftsfelt.
Bemærk!: Du kan også føje parameterprompter til feltet for en kolonneoverskrift, men det begrænser ikke antallet af kolonner, der vises.
-
Åbn krydstabuleringsforespørgslen i designvisning.
-
På rækken Kriterier for det rækkeoverskriftsfelt, som du vil bede om brugerinput til, skal du skrive spørgsmålsteksten i firkantede parenteser. Spørgsmålsteksten vises som en meddelelse, når forespørgslen køres.
Hvis du f.eks. skriver [Hvilket land eller område?] på rækken Kriterier, vises en dialogboks med spørgsmålet "Hvilket land eller område?", en inputboks og knappen OK, når forespørgslen køres.
Tip!: Hvis du vil have, at din parameter skal være fleksibel, skal du sammenkæde udtrykket med jokertegn ved hjælp af operatoren Like . I stedet for at bruge [Hvilket land eller område?] som kriterium kan du f.eks. bruge Synes godt om [Hvilket land eller område?] &"*" for at få parameteren til at matche et større inputområde. Brug af Like ændrer ikke udseendet af parameterprompten.
-
Klik på Parametre i gruppen Vis/skjul under fanen Design.
-
I kolonnen Parametre i dialogboksen Forespørgselsparametre skal du skrive samme parametermeddelelse, som du brugte på rækken Kriterier. Medtag de kantede parenteser, men medtag ikke nogen sammenkædede jokertegn eller operatoren Like.
-
Vælg datatype for parameteren i kolonnen Datatype. Datatypen skal svare til datatypen i rækkeoverskriftsfeltet.
Hvis det felt, du bruger til at beregne opsummeringsværdier i din krydstabuleringsforespørgsel, indeholder null-værdier, ignoreres disse værdier af enhver aggregeringsfunktion, du bruger. For nogle aggregeringsfunktioner kan dine resultater blive påvirket. Hvis du f.eks. vil beregne et gennemsnit, skal du tilføje alle værdierne og dividere resultatet med antallet af værdier. Men hvis feltet indeholder null-værdier, tælles disse Null-værdier ikke som en del af antallet af værdier.
I nogle tilfælde vil du måske foretrække at erstatte eventuelle NULL-værdier med nuller, så værdierne tælles med under aggregerede beregninger. Du kan bruge funktionen Nz til at erstatte NULL-værdier med nuller.
Nz-syntaks
Nz ( variant [, værdihvisnull ] )
Syntaksen til funktionen Nz indeholder følgende argumenter:
Argument |
Beskrivelse |
variant |
Obligatorisk. En variabel af datatypevariant. |
værdihvisnull |
Valgfrit (medmindre det bruges i en forespørgsel). En variant-datatype, der angiver den værdi, som skal returneres, hvis argumentet variant er Null. Dette argument gør det muligt at få returneret en anden værdi end nul og en streng af længden nul. Bemærk!: Hvis du bruger funktionen Nz i et udtryk i en forespørgsel uden at medtage argumentet værdihvisnull, indsættes der en streng af længden nul i de felter, der indeholder Null-værdier. |
-
Når forespørgslen er åben i designvisning, skal du højreklikke på feltet Værdi i forespørgselsdesigngitteret.
-
Klik på Zoom i genvejsmenuen.
-
I feltet Zoom skal du sætte feltnavnet eller udtrykket i parenteser og derefter skrive Nz foran parenteserne.
-
Skriv , 0 lige inden for højre parentes.
Hvis du f.eks. brugte Nz med et felt med navnet "Tabte timer" til at lave NULL-værdier om til nuller, ville det færdige udtryk se ud som følger:
Nz([Hours Lost], 0)
-
Hold det enkelt. Krydstabuleringsforespørgsler kan blive svære at læse i takt med, at antallet af rækkekombinationer vokser. Brug ikke flere rækkeoverskrifter end nødvendigt.
-
Overvej at opbygge din krydstabulering i trin. Begræns ikke dig selv til udelukkende at bruge tabeller. Du kan ofte starte med at bygge en totalforespørgsel og derefter bruge denne forespørgsel som postkilde for en krydstabuleringsforespørgsel.
-
Vælg dit kolonneoverskriftsfelt omhyggeligt Krydstabuleringsdataark er som regel nemmere at læse, når antallet af kolonneoverskrifter forbliver relativt lille. Når du har identificeret de felter, du vil bruge som overskrifter, kan du overveje at bruge det felt, der har færrest entydige værdier, til at oprette kolonneoverskrifter. Hvis forespørgslen f.eks. beregner en værdi efter alder og køn, kan du overveje at bruge køn til kolonneoverskrifter i stedet for alder, da køn typisk har færre mulige værdier end alder.
-
Brug en underforespørgsel i en WHERE-delsætning Du kan du bruge en underforespørgsel som en del af en WHERE-delsætningen i en krydstabuleringsforespørgsel.