I denne artikel forklares det, hvordan du bruger en aggregeringsfunktion i Access til at summere dataene i et forespørgselsresultatsæt. Det forklares også kort, hvordan du bruger andre aggregeringsfunktioner, f.eks COUNT . og AVG, til at tælle eller beregne gennemsnittet af værdierne i et resultatsæt. Desuden forklares det, hvordan du bruger rækken Total til at summere data uden at ændre designet af dine forespørgsler.
Hvad vil du foretage dig?
- Forstå metoder til at summere data
- Forberede nogle eksempeldata
- Summere data ved hjælp af en Rækken Total
- Beregne hovedtotaler ved hjælp af en forespørgsel
- Beregne gruppetotaler ved hjælp af en totalforespørgsel
- Summere data på tværs af flere grupper ved hjælp af en krydstabuleringsforespørgsel
- Reference til aggregeringsfunktionen
Forstå metoder til at summere data
Du kan summere en kolonne med tal i en forespørgsel ved hjælp af en funktion, der kaldes en aggregeringsfunktion. Aggregeringsfunktioner udfører en beregning på en kolonne med data og returnerer en enkelt værdi. Access indeholder en række aggregeringsfunktioner, herunder Sum, Count, Avg (til beregning af gennemsnit), Minog Max. Du lægger data sammen ved at føje funktionen Sum til forespørgslen. Du tæller data ved hjælp Count af funktionen osv.
Desuden indeholder Access flere måder at føje Sum og andre aggregeringsfunktioner til en forespørgsel på. Du kan:
- Åbne din forespørgsel i dataarkvisning, og tilføje rækken Total. Rækken Total, en funktion i Access, giver dig mulighed for at bruge en aggregeringsfunktion i en eller flere kolonner med et forespørgselsresultatsæt uden at ændre designet af forespørgslen.
- Opret en totalforespørgsel. En totalforespørgsel beregner subtotaler på tværs af grupper af poster. Rækken Total beregner hovedtotaler for en eller flere kolonner (felter) med data. Hvis du f.eks. vil beregne subtotalen for alt salg efter by eller efter kvartal, kan du bruge en totalforespørgsel til at gruppere dine poster efter den ønskede kategori, og derefter summere salgstallene.
- Opret en krydstabuleringsforespørgsel. En krydstabuleringsforespørgsel er en særlig type forespørgsel, der viser resultaterne i et gitter, der ligner et Excel-regneark. Krydstabuleringsforespørgsler opsummerer dine værdier og grupperer dem derefter efter to sæt fakta – det ene sæt ned langs siden (rækkeoverskrifter) og det andet langs toppen (kolonneoverskrifter). Du kan f.eks. bruge en krydstabuleringsforespørgsel til at vise salgstotaler for hver by for de seneste tre år, som følgende tabel viser:
| By | 2003 | 2004 | 2005 |
|---|---|---|---|
| Paris | 254.556 | 372.455 | 467.892 |
| Sydney | 478.021 | 372.987 | 276.399 |
| Jakarta | 572.997 | 684.374 | 792.571 |
| ... | ... | ... | ... |
Bemærk
De trinvise vejledninger i dette dokument fremhæver brugen af Sum funktionen, men du kan også bruge andre aggregeringsfunktioner i rækkerne Total og forespørgsler. Du kan finde flere oplysninger i Reference til aggregeringsfunktioner senere i denne artikel.
Finde flere oplysninger om brug af andre Sammenlæg funktioner, i artiklen vise totaler for kolonne i et dataark.
Trinnene i de følgende afsnit beskriver, hvordan du tilføjer rækken Total, bruger en totalforespørgsel til at summere data på tværs af grupper og bruger en krydstabuleringsforespørgsel, der subtotaler data på tværs af grupper og tidsintervaller. Når du fortsætter, skal du huske, at mange aggregeringsfunktioner kun fungerer på data i felter, der er angivet til en bestemt datatype. Funktionen fungerer f.eks. kun med felter, SUM der er angivet til datatyperne Tal, Decimal eller Valuta. Du kan finde flere oplysninger om de datatyper, som hver funktion kræver, under Reference til aggregeringsfunktioner senere i denne artikel.
Du kan finde generelle oplysninger om datatyper i artiklen Redigere eller ændre datatypen for et felt.
Forberede nogle eksempeldata
Vejledningerne i denne artikel indeholder tabeller med eksempeldata. De trinvise vejledninger bruger eksempeltabellerne for at hjælpe dig med at forstå, hvordan aggregeringsfunktioner fungerer. Hvis du foretrækker det, kan du eventuelt føje eksempeltabellerne ind i en ny eller eksisterende database.
I Access kan du føje disse eksempeltabeller til en database på flere måder. Du kan angive dataene manuelt, du kan kopiere hver tabel til et regnearksprogram som f.eks. Excel og derefter importere regnearkene i Access, eller du kan indsætte dataene i et tekstredigeringsprogram, f.eks. Notesblok, og importere dataene fra de resulterende tekstfiler.
Trinnene i dette afsnit beskriver, hvordan du indtaster data manuelt i et tomt dataark, og hvordan du kopierer eksempeltabellerne til et regnearksprogram og derefter importerer disse tabeller til Access. Få mere at vide om oprettelse og import af tekstdata i artiklen Importere eller linke til data i en tekstfil.
Vejledningen i denne artikel bruger følgende tabeller. Brug disse tabeller til at oprette dine eksempeldata:
Tabellen Kategorier:
| Kategori |
|---|
| Dukker |
| Spil og puslespil |
| Kunst og indramning |
| Videospil |
| Dvd og film |
| Modeller og hobbyer |
| Sport |
Tabellen Produkter:
| Produktnavn | Pris | Kategori |
|---|---|---|
| Programmør-actionfigur | DKK 12,95 | Dukker |
| Sjov med C# (et brætspil for hele familien) | DKK 15,85 | Spil og puslespil |
| Relationsdatabasediagram | DKK 22,50 | Kunst og indramning |
| Den magiske computerchip (500 brikker) | DKK 32,65 | Spil og puslespil |
| Access! Spillet! | DKK 22,95 | Spil og puslespil |
| Computernørder og mytiske dyr | DKK 78,50 | Videospil |
| Øvelser for computernørder! Dvd’en! | DKK 14,88 | Dvd og film |
| Den ultimative flyvende pizza | DKK 36,75 | Sport |
| Eksternt 5,25” diskettedrev (1/4 skala) | DKK 65,00 | Modeller og hobbyer |
| Bureaukrat non-actionfigur | DKK 78,88 | Dukker |
| Gloom | DKK 53,33 | Videospil |
| Byg dit eget tastatur | DKK 77,95 | Modeller og hobbyer |
Tabellen Ordrer:
| Ordredato | Forsendelsesdato | Forsendelsesby | Forsendelsesgebyr |
|---|---|---|---|
| 14-11-2005 | 15-11-2005 | Jakarta | DKK 55,00 |
| 14-11-2005 | 15-11-2005 | Sydney | DKK 76,00 |
| 16-11-2005 | 17-11-2005 | Sydney | DKK 87,00 |
| 17-11-2005 | 18-11-2005 | Jakarta | DKK 43,00 |
| 17-11-2005 | 18-11-2005 | Paris | DKK 105,00 |
| 17-11-2005 | 18-11-2005 | Stuttgart | DKK 112,00 |
| 18-11-2005 | 19-11-2005 | Wien | DKK 215,00 |
| 19-11-2005 | 20-11-2005 | Miami | DKK 525,00 |
| 20-11-2005 | 21-11-2005 | Wien | DKK 198,00 |
| 20-11-2005 | 21-11-2005 | Paris | DKK 187,00 |
| 21-11-2005 | 22-11-2005 | Sydney | DKK 81,00 |
| 23-11-2005 | 24-11-2005 | Jakarta | DKK 92,00 |
Tabellen Ordredetaljer:
| Ordre-id | Produktnavn | Produkt-id | Enhedspris | Antal | Rabat |
|---|---|---|---|---|---|
| 1 | Byg dit eget tastatur | 12 | DKK 77,95 | 9 | 5 % |
| 1 | Bureaukrat non-actionfigur | 2 | DKK 78,88 | 4 | 7,5 % |
| 2 | Øvelser for computernørder! Dvd’en! | 7 | DKK 14,88 | 6 | 4 % |
| 2 | Den magiske computerchip | 4 | DKK 32,65 | 8 | 0 |
| 2 | Computernørder og mytiske dyr | 6 | DKK 78,50 | 4 | 0 |
| 3 | Access! Spillet! | 5 | DKK 22,95 | 5 | 15 % |
| 4 | Programmør-actionfigur | 1 | DKK 12,95 | 2 | 6 % |
| 4 | Den ultimative flyvende pizza | 8 | DKK 36,75 | 8 | 4 % |
| 5 | Eksternt 5,25” diskettedrev (1/4 skala) | 9 | DKK 65,00 | 4 | 10 % |
| 6 | Relationsdatabasediagram | 3 | DKK 22,50 | 12 | 6,5 % |
| 7 | Gloom | 11 | DKK 53,33 | 6 | 8 % |
| 7 | Relationsdatabasediagram | 3 | DKK 22,50 | 4 | 9 % |
Bemærk
Husk, at i en typisk database vil en tabel med ordredetaljer kun indeholde feltet produkt-id, og ikke et feltet Produktnavn. Eksempeltabellen bruger feltet Produktnavn til at gøre det nemmere at læse data.
Angive eksempeldataene manuelt
Klik på fanen Opret i gruppen Tabeller og klik på Tabel. Access tilføjer en ny, tom tabel til databasen.
Bemærk
Du behøver ikke at udføre dette trin, hvis du åbner en ny, tom database, men du skal følge den, hver gang du vil føje en tabel til databasen.
Dobbeltklik på den første celle i overskriftsrækken, og angiv navnet på feltet i eksempeltabellen. Som standard angiver Access tomme felter i kolonneoverskriften med teksten Tilføj nyt felt, således:
Brug piletasterne til at gå til den næste tomme overskriftscelle, og skriv det andet feltnavn. Du kan også trykke
TABeller dobbeltklikke på den nye celle. Gentag dette trin, indtil du har angivet alle feltnavne.Indtast data fra eksempeltabellen. Når du angiver dataene, udleder Access en datatype for hvert felt. Hvis du er ny bruger af relationsdatabaser, skal du angive en bestemt datatype, f.eks. Tal, Tekst eller Dato/klokkeslæt, for hvert af felterne i tabellerne. Angivelse af datatypen hjælper med at sikre nøjagtig dataindtastning og hjælper også med at forhindre fejl, f.eks. brug af et telefonnummer i en beregning. For disse eksempeltabeller skal du lade Access udlede datatypen.
Når du er færdig med at indtaste data, skal du klikke på Gem. Tastaturgenvej Tryk på Ctrl+S. Dialogboksen Gem som åbnes.
I feltet Tabelnavn skal du skrive navnet på eksempeltabellen og derefter klikke på OK. Du skal bruge navnet på eksempeltabellen, da forespørgslerne i vejledningen anvender disse navne.
Gentag disse trin, indtil du har oprettet hvert af de eksempeltabeller, der er angivet i starten af dette afsnit.
Hvis du ikke vil angive data manuelt, skal du følge de næste trin for at kopiere dataene til en regnearksfil og derefter importere dataene fra regnearksfilen ind i Access.
Oprette eksempelregneark
Start din regnearksprogram, og opret en ny, tom fil. Hvis du bruger Excel, oprettes der en ny, tom projektmappe som standard.
Kopiér den første eksempeltabel, der blev angivet ovenfor, og sæt den ind i det første regneark med start ved den første celle.
Omdøb regnearket ved hjælp af den metode, der leveres af dit regnearksprogram. Giv regnearket samme navn som eksempeltabellen. Hvis eksempeltabellen f.eks. hedder Kategorier, skal du give regnearket det samme navn.
Gentag trin 2 og 3, hvor du kopierer hver eksempeltabel til et tomt regneark og omdøber regnearket.
Bemærk
Du kan være nødvendigt at føje regneark til din regnearksfil. Du kan finde oplysninger om denne opgave i hjælpen til din regnearksprogram.
Gem projektmappen et praktisk sted på computeren eller netværket, og gå til det næste trin.
Oprette databasetabeller ud fra regneark
- Klik på Ny datakilde>fra Excel-fil> i gruppen Importér & sammenkæd under fanen Eksterne data. Dialogboksen Hent eksterne data – Excel-regneark vises.
- Klik på Gennemse, åbn regnearksfilen, du oprettede i de forrige trin, og klik derefter på OK. Guiden Importér regneark starter.
- Som standard markerer guiden det første regneark i projektmappen (regnearket Kunder, hvis du har fulgt trinnene i forrige afsnit), og data fra regnearket vises i den nederste del af siden i guiden. Klik på Næste.
- På den næste side i guiden skal du klikke på Første række indeholder kolonneoverskrifter og derefter klikke på Næste.
- Hvis du vil, kan du på næste side bruge tekstbokse og lister under Feltindstillinger til at ændre feltnavne og datatyper eller til at udelade felter fra importen. Ellers skal du klikke på Næste.
- Lad indstillingen Lad Access tilføje en primær nøgle være markeret, og klik på Næste.
- Access anvender som standard navnet på regnearket til den nye tabel. Accepter det foreslåede navn, eller angiv et andet navn, og klik derefter på Udfør.
- Gentag trin 1 til 7, indtil du har oprettet en tabel fra hvert regneark i projektmappen.
Omdøb felter med primære nøgler
Bemærk
Da du importerede regnearkene, føjede Access automatisk en kolonne med en primær nøgle til hver tabel. Som standard navngav Access kolonnen ID og indstillede den til AutoNumber datatypen. Trinnene i dette afsnit beskriver, hvordan du omdøber hvert primær nøgle-felt. Hvis du gør det, kan du tydeligt identificere alle felterne i en forespørgsel.
- Højreklik på hver af de tabeller, du oprettede i forrige trin, i navigationsruden, og klik på Designvisning.
- Find det primære nøglefelt for hver tabel. Som standard navngiver Access hvert felt ID.
- I kolonnen Feltnavn for hvert primært nøglefelt skal du tilføje navnet på tabellen. F.eks. skal du omdøbe feltet ID for tabellen Kategorier til "Kategori-id" og feltet for tabellen Ordrer til "Ordre-id". For tabellen Ordredetaljer skal du omdøbe feltet til "Detalje-id". For tabellen Produkter skal du omdøbe feltet til "Produkt-id".
- Gem ændringerne.
Når eksempeltabellerne vises i denne artikel, inkluderer de primære nøglefelter, og feltet er omdøbt som beskrevet i foregående trin.
Summér data ved hjælp af en rækken Total
Du kan føje rækken Total til en forespørgsel ved at åbne forespørgslen i dataarkvisning, tilføje rækken og derefter vælge den aggregeringsfunktion, du vil bruge, f.eks Sum. , Min, Maxeller Avg. Trinnene i dette afsnit beskriver, hvordan du opretter en grundlæggende udvælgelsesforespørgsel og tilføjer rækken Total. Du behøver ikke at bruge de eksempeltabeller, der er beskrevet i forrige afsnit.
Opret en udvælgelsesforespørgsel
- Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
- Dobbeltklik på den eller de tabeller, du vil bruge i forespørgslen. Den eller de valgte tabeller vises som vinduer i den øverste del af Forespørgselsdesigner.
- Dobbeltklik på de tabelfelter, du vil bruge i forespørgslen. Du kan medtage felter, der indeholder beskrivende data, f.eks. navne og beskrivelser, men du skal medtage et felt, der indeholder numeriske data eller valutadata. Hvert felt vises i en celle i designgitteret.
- Klik på Kør for at køre forespørgslen. Forespørgselsresultatsættet vises i dataarkvisning.
- Du kan skifte til designvisning og justere din forespørgsel. Det gør du ved at højreklikke på dokumentfanen for forespørgslen og klikke på Designvisning. Derefter kan du justere forespørgslen efter behov ved at tilføje eller fjerne felter. Hvis du vil fjerne et felt, skal du vælge kolonnen i designgitteret og trykke på DELETE.
- Gem din forespørgsel.
Tilføj rækken Total
- Sørg for, at forespørgslen er åben i dataarkvisning. Det gør du ved at højreklikke på dokumentfanen for forespørgslen og klikke på Dataarkvisning. -eller- Dobbeltklik på forespørgslen i navigationsruden. Dette kører forespørgslen og indlæser resultaterne i et dataark.
- På fanen Hjem i gruppen Poster skal du klikke på Totaler. En ny række, Total, vises i dataarket.
- I rækken Total skal du klikke på cellen i det felt, du vil summere, og derefter vælge Sum på listen.
Skjul rækken Total
- På fanen Hjem i gruppen Poster skal du klikke på Totaler.
Find flere oplysninger om brug af rækken Total i artiklen Vise totaler for kolonne i et dataark.
Beregn hovedtotaler ved hjælp af en forespørgsel
En hovedtotal er summen af alle værdierne i en kolonne. Du kan beregne flere typer af hovedtotaler, herunder:
- En simpel hovedtotal, der summerer værdierne i en enkelt kolonne. Du kan f.eks. beregne de samlede forsendelsesomkostninger.
- En beregnet hovedtotal, der summerer værdierne i mere end én kolonne. Du kan f.eks. beregne det samlede salg ved at multiplicere omkostningerne for flere varer med antallet af bestilte varer og derefter sammentæle resultatværdierne.
- En hovedtotal, der udelader nogle poster. Du kan f.eks. kun beregne det samlede salg for sidste fredag.
Trinnene i følgende afsnit viser, hvordan du opretter hver type hovedtotal. Trinnene anvender tabellerne Ordrer og Ordredetaljer.
| Ordre-id | Ordredato | Forsendelsesdato | Forsendelsesby | Forsendelsesgebyr |
|---|---|---|---|---|
| 1 | 14-11-2005 | 15-11-2005 | Jakarta | DKK 55,00 |
| 2 | 14-11-2005 | 15-11-2005 | Sydney | DKK 76,00 |
| 3 | 16-11-2005 | 17-11-2005 | Sydney | DKK 87,00 |
| 4 | 17-11-2005 | 18-11-2005 | Jakarta | DKK 43,00 |
| 5 | 17-11-2005 | 18-11-2005 | Paris | DKK 105,00 |
| 6 | 17-11-2005 | 18-11-2005 | Stuttgart | DKK 112,00 |
| 7 | 18-11-2005 | 19-11-2005 | Wien | DKK 215,00 |
| 8 | 19-11-2005 | 20-11-2005 | Miami | DKK 525,00 |
| 9 | 20-11-2005 | 21-11-2005 | Wien | DKK 198,00 |
| 10 | 20-11-2005 | 21-11-2005 | Paris | DKK 187,00 |
| 11 | 21-11-2005 | 22-11-2005 | Sydney | DKK 81,00 |
| 12 | 23-11-2005 | 24-11-2005 | Jakarta | DKK 92,00 |
Tabellen Ordredetaljer
| Detalje-id | Ordre-id | Produktnavn | Produkt-id | Enhedspris | Antal | Rabat |
|---|---|---|---|---|---|---|
| 1 | 1 | Byg dit eget tastatur | 12 | DKK 77,95 | 9 | 0,05 |
| 2 | 1 | Bureaukrat non-actionfigur | 2 | DKK 78,88 | 4 | 0,075 |
| 3 | 2 | Øvelser for computernørder! Dvd’en! | 7 | DKK 14,88 | 6 | 0,04 |
| 4 | 2 | Den magiske computerchip | 4 | DKK 32,65 | 8 | 0,00 |
| 5 | 2 | Computernørder og mytiske dyr | 6 | DKK 78,50 | 4 | 0,00 |
| 6 | 3 | Access! Spillet! | 5 | DKK 22,95 | 5 | 0,15 |
| 7 | 4 | Programmør-actionfigur | 1 | DKK 12,95 | 2 | 0,06 |
| 8 | 4 | Den ultimative flyvende pizza | 8 | DKK 36,75 | 8 | 0,04 |
| 9 | 5 | Eksternt 5,25” diskettedrev (1/4 skala) | 9 | DKK 65,00 | 4 | 0,10 |
| 10 | 6 | Relationsdatabasediagram | 3 | DKK 22,50 | 12 | 0,065 |
| 11 | 7 | Gloom | 11 | DKK 53,33 | 6 | 0,08 |
| 12 | 7 | Relationsdatabasediagram | 3 | DKK 22,50 | 4 | 0,09 |
Beregn et enkel hovedtotal
Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
Dobbeltklik på den tabel, du vil bruge i forespørgslen. Hvis du bruger eksempeldataene, skal du dobbeltklikke på tabellen Ordrer. Tabellen vises i et vindue i den øverste del af forespørgselsdesigneren.
Dobbeltklik på det felt, du vil lægge sammen. Sørg for, at feltet er angivet til enten datatypen Tal eller Valuta. Hvis du forsøger at lægge værdier sammen i ikke-numeriske felter, f.eks. et tekstfelt, viser Access fejlmeddelelsen Datatypeuoverensstemmelse i kriterieudtryk , når du forsøger at køre forespørgslen. Hvis du bruger eksempeldataene, skal du dobbeltklikke på kolonnen Forsendelsesgebyr. Du kan føje yderligere numeriske felter til gitteret, hvis du vil beregne hovedtotaler for disse felter. En totalforespørgsel kan beregne hovedtotaler for mere end én kolonne.
Klik på Totaler i gruppen Vis/skjul under fanen Forespørgselsdesign. Rækken Total vises i designgitteret, og Gruppér efter vises i cellen i kolonnen Forsendelsesgebyr.
Rediger værdien i cellen i rækken Total til Sum.
Klik på Kør for at køre forespørgslen og vise resultaterne i dataarkvisning.
Tip
Access føjes til begyndelsen af navnet på det felt, du summerer
SumOf. Hvis du vil ændre kolonneoverskriften til noget mere sigende, f.eks . Samlet levering, skal du skifte tilbage til designvisning og klikke på rækken Felt i kolonnen Forsendelsesgebyr i designgitteret. Placer markøren ud for Forsendelsesgebyr, og skrivTotal Shipping: Shipping Fee.Du kan også gemme forespørgslen og lukke den.
Beregn en hovedtotal, der udelader nogle poster
Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
Dobbeltklik på tabellen Ordre og tabellen Ordredetaljer.
Føj feltet Ordredato fra tabellen Ordrer til den første kolonne i forespørgselsgitteret.
I rækken Kriterier i den første kolonne skal du skrive
Date() -1. Udtrykket udelukker den aktuelle dags poster fra den beregnede total.Dernæst skal du oprette den kolonne, der beregner salgsbeløbet for hver transaktion. Skriv følgende udtryk i rækken Felt i den anden kolonne i gitteret:
Total Sales Value: (1-[Order Details].[Discount]/100)*([Order Details].[Unit Price]*[Order Details].[Quantity])Sørg for, at udtrykket refererer til felter, der er angivet til datatyperne Tal eller Valuta. Hvis dit udtryk refererer til felter, der er angivet til andre datatyper, viser Access meddelelsen Datatyperne stemmer ikke overens i kriterieudtrykket, når du forsøger at køre forespørgslen.Klik på Totaler i gruppen Vis/skjul under fanen Forespørgselsdesign. Rækken Total vises i designgitteret, og Gruppér efter vises i første og anden kolonne.
I den anden kolonne skal du redigere værdien i cellen i rækken Total til Sum. Funktionen Sum tilføjer de enkelte salgstal.
Klik på Kør for at køre forespørgslen og vise resultaterne i dataarkvisning.
Gem forespørgslen som Dagligt salg.
Bemærk
Næste gang du åbner forespørgslen i designvisning, kan der være en lille ændring i de værdier, der er angivet i rækkerne Felt og Total i kolonnen Samlet salgsværdi. Udtrykket vises omsluttet af funktionen Sum , og rækken Total viser Udtryk i stedet for Sum.
Hvis du f.eks. bruger eksempeldataene og opretter forespørgslen (som vist i de forrige trin), ser du:
Total Sales Value: Sum((1-[Order Details].Discount/100)*([Order Details].Unitprice*[Order Details].Quantity))
Beregn gruppetotaler ved hjælp af en totalforespørgsel
Trinnene i dette afsnit beskriver, hvordan du opretter en totalforespørgsel, der beregner subtotaler på tværs af grupper af data. Når du fortsætter, skal du huske, at en totalforespørgsel som standard kun kan indeholde det eller de felter, der indeholder dine gruppedata, f.eks. et "kategorier"-felt, og det felt, der indeholder de data, du vil summere, f.eks. et "salg"-felt. Totalforespørgsler kan ikke indeholde andre felter, der beskriver elementerne i en kategori. Hvis du vil se de beskrivende data, kan du oprette en anden udvælgelsesforespørgsel, der kombinerer felterne i totalforespørgslen med de ekstra datafelter.
Trinnene i dette afsnit beskriver, hvordan du opretter de totaler og udvælgelsesforespørgsler, der er nødvendige for at identificere det samlede salg for hvert produkt. Trinnene antager, at du bruger disse eksempeltabeller:
| Produkt-id | Produktnavn | Pris | Kategori |
|---|---|---|---|
| 1 | Programmør-actionfigur | DKK 12,95 | Dukker |
| 2 | Sjov med C# (et brætspil for hele familien) | DKK 15,85 | Spil og puslespil |
| 3 | Relationsdatabasediagram | DKK 22,50 | Kunst og indramning |
| 4 | Den magiske computerchip (500 brikker) | DKK 32,65 | Kunst og indramning |
| 5 | Access! Spillet! | DKK 22,95 | Spil og puslespil |
| 6 | Computernørder og mytiske dyr | DKK 78,50 | Videospil |
| 7 | Øvelser for computernørder! Dvd’en! | DKK 14,88 | Dvd og film |
| 8 | Den ultimative flyvende pizza | DKK 36,75 | Sport |
| 9 | Eksternt 5,25” diskettedrev (1/4 skala) | DKK 65,00 | Modeller og hobbyer |
| 10 | Bureaukrat non-actionfigur | DKK 78,88 | Dukker |
| 11 | Gloom | DKK 53,33 | Videospil |
| 12 | Byg dit eget tastatur | DKK 77,95 | Modeller og hobbyer |
Tabellen Ordredetaljer
| Detalje-id | Ordre-id | Produktnavn | Produkt-id | Enhedspris | Antal | Rabat |
|---|---|---|---|---|---|---|
| 1 | 1 | Byg dit eget tastatur | 12 | DKK 77,95 | 9 | 5 % |
| 2 | 1 | Bureaukrat non-actionfigur | 2 | DKK 78,88 | 4 | 7,5 % |
| 3 | 2 | Øvelser for computernørder! Dvd’en! | 7 | DKK 14,88 | 6 | 4 % |
| 4 | 2 | Den magiske computerchip | 4 | DKK 32,65 | 8 | 0 |
| 5 | 2 | Computernørder og mytiske dyr | 6 | DKK 78,50 | 4 | 0 |
| 6 | 3 | Access! Spillet! | 5 | DKK 22,95 | 5 | 15 % |
| 7 | 4 | Programmør-actionfigur | 1 | DKK 12,95 | 2 | 6 % |
| 8 | 4 | Den ultimative flyvende pizza | 8 | DKK 36,75 | 8 | 4 % |
| 9 | 5 | Eksternt 5,25” diskettedrev (1/4 skala) | 9 | DKK 65,00 | 4 | 10 % |
| 10 | 6 | Relationsdatabasediagram | 3 | DKK 22,50 | 12 | 6,5 % |
| 11 | 7 | Gloom | 11 | DKK 53,33 | 6 | 8 % |
| 12 | 7 | Relationsdatabasediagram | 3 | DKK 22,50 | 4 | 9 % |
Følgende trin forudsætter en en-til-mange-relation mellem felterne produkt-id i tabellen Ordrer og tabellen Ordredetaljer med tabellen Ordrer på relationens “en”-side.
Opret totalforespørgslen
Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
Vælg de tabeller, du vil arbejde med, og klik derefter på Tilføj. Hver tabel vises som et vindue i den øverste del af forespørgselsdesigneren. Hvis du bruger eksempeltabellerne herover, kan du tilføje tabellerne Produkter og Ordredetaljer.
Dobbeltklik på de tabelfelter, du vil bruge i forespørgslen. Som en hovedregel føjer du kun gruppefeltet og værdifeltet til forespørgslen. Du kan dog bruge en beregning i stedet for et værdifelt – de næste trin viser, hvordan du gør.
Føj feltet Kategori fra tabellen Produkter til designgitteret.
Opret den kolonne, der beregner salgsbeløbet for hver transaktion ved at skrive følgende udtryk i den anden kolonne i gitteret:
Total Sales Value: (1-[Order Details].[Discount]/100)*([Order Details].[Unit Price]*[Order Details].[Quantity])Sørg for, at de felter, du refererer til i udtrykket, er af datatyperne Tal eller Valuta. Hvis dit refererer til felter med andre datatyper, viser Access fejlmeddelelsen Datatyperne stemmer ikke overens i kriterieudtrykket, når du forsøger at skifte til dataarkvisning.Klik på Totaler i gruppen Vis/skjul under fanen Forespørgselsdesign. Rækken Total vises i designgitteret, og i den række vises Gruppér efter i første og anden kolonne.
I den anden kolonne skal du ændre værdien i rækken Total til Sum. Funktionen Sum tilføjer de enkelte salgstal.
Klik på Kør for at køre forespørgslen og vise resultaterne i dataarkvisning.
Hold forespørgslen åben til brug i næste afsnit. Brug kriterier med en totalforespørgsel Den forespørgsel, du oprettede i forrige afsnit, medtager alle posterne i de underliggende tabeller. Den udelukker ikke en rækkefølge, når du beregner totaler, og den viser totaler for alle kategorier. Hvis du vil udelade nogle poster, kan du føje kriterier til forespørgslen. Du kan f.eks. ignorere transaktioner, der er mindre end $ 100, eller beregne totaler for kun nogle af dine produktkategorier. Trinnene i dette afsnit beskriver, hvordan du bruger tre typer kriterier:
Kriterier, der ignorerer bestemte grupper ved beregning af totaler. Du kan f.eks. beregne totaler for kategorierne Videospil, Kunst og Indramning og Sport.
Kriterier, der skjuler bestemte totaler efter beregning af dem. Du kan f.eks. kun få vist totaler, der er større end $ 150.000.
Kriterier, der udelader individuelle poster fra at blive medtaget i totalen. Du kan f.eks. udelade individuelle salgstransaktioner, når værdien (
Unit Price * Quantity) falder til under $ 100. Følgende trin beskriver, hvordan du tilføjer kriterierne enkeltvist og ser påvirkningen af forespørgselsresultatet. Føj kriterier til forespørgslenÅbn forespørgslen fra den forrige sektion i Designvisning. Det gør du ved at højreklikke på dokumentfanen for forespørgslen og klikke på Designvisning. -eller- Højreklik på forespørgslen i navigationsruden, og klik på Designvisning.
I rækken Kriterier i kolonnen Kategori-id skal du skrive
=Dolls Or Sports or Art and Framing.Klik på Kør for at køre forespørgslen og vise resultaterne i dataarkvisning.
Skift tilbage til designvisning, og skriv
>100i rækken Kriterier i kolonnen Samlet salgsværdi.Kør forespørgslen for at se resultaterne, og skift derefter tilbage til Designvisning.
Tilføj nu kriterier, der udelader individuelle salgstransaktioner, som er mindre end DKK 100. Hvis du vil gøre dette, er du nødt til at tilføje en ny kolonne.
Bemærk
Du kan ikke angive det tredje kriterie i kolonnen Samlet salgsværdi. Alle kriterier, du angiver i denne kolonne, gælder for den samlede værdi og ikke for de enkelte værdier.
Kopiér udtrykket fra den anden kolonne til den tredje kolonne.
I rækken Total for den nye kolonne skal du vælge Hvor og skrive
>20i rækken Kriterier.Kør forespørgslen for at se resultaterne, og gem derefter forespørgslen.
Bemærk
Næste gang du åbner forespørgslen i Designvisning, kan der være mindre ændringer i designgitteret. I den anden kolonne, vises udtrykket i rækken Felt inde i funktionen Sum, og værdien i rækken Total viser Udtryk i stedet for Sum.
Total Sales Value: Sum((1-[Order Details].Discount/100)*([Order Details].Unitprice*[Order Details].Quantity))Du får også vist en fjerde kolonne. Denne kolonne er en kopi af den anden kolonne, men de kriterier, du har angivet i den anden kolonne, vises faktisk som en del af den nye kolonne.
Summér data på tværs af flere grupper ved hjælp af en krydstabuleringsforespørgsel
En krydstabuleringsforespørgsel er en særlig type forespørgsel, der viser resultaterne i et gitter, der ligner et Excel-regneark. Krydstabuleringsforespørgsler summerer dine værdier og grupperer dem derefter ud fra to sæt fakta – et sæt ned langs siden (et sæt rækkeoverskrifter) og det andet sæt langs toppen (et sæt kolonneoverskrifter). Denne figur illustrerer en del af resultatsættet for krydstabuleringsforespørgselseksemplet:
Husk, at en krydstabuleringsforespørgsel ikke altid udfylder alle felter i resultatsættet, idet de tabeller, du bruger i forespørgslen, ikke altid indeholder værdier for alle potentielle datapunkter.
Når du opretter en krydstabuleringsforespørgsel, vil du typisk medtage data fra mere end én tabel, og du medtager altid tre typer data: de data, der bruges som rækkeoverskrifter, de data, der bruges som kolonneoverskrifter, og de værdier, du vil summere eller på anden måde behandle.
Trinnene i dette afsnit anvender nedenstående tabeller:
| Ordredato | Forsendelsesdato | Forsendelsesby | Forsendelsesgebyr |
|---|---|---|---|
| 14-11-2005 | 15-11-2005 | Jakarta | DKK 55,00 |
| 14-11-2005 | 15-11-2005 | Sydney | DKK 76,00 |
| 16-11-2005 | 17-11-2005 | Sydney | DKK 87,00 |
| 17-11-2005 | 18-11-2005 | Jakarta | DKK 43,00 |
| 17-11-2005 | 18-11-2005 | Paris | DKK 105,00 |
| 17-11-2005 | 18-11-2005 | Stuttgart | DKK 112,00 |
| 18-11-2005 | 19-11-2005 | Wien | DKK 215,00 |
| 19-11-2005 | 20-11-2005 | Miami | DKK 525,00 |
| 20-11-2005 | 21-11-2005 | Wien | DKK 198,00 |
| 20-11-2005 | 21-11-2005 | Paris | DKK 187,00 |
| 21-11-2005 | 22-11-2005 | Sydney | DKK 81,00 |
| 23-11-2005 | 24-11-2005 | Jakarta | DKK 92,00 |
Tabellen Ordredetaljer
| Ordre-id | Produktnavn | Produkt-id | Enhedspris | Antal | Rabat |
|---|---|---|---|---|---|
| 1 | Byg dit eget tastatur | 12 | DKK 77,95 | 9 | 5 % |
| 1 | Bureaukrat non-actionfigur | 2 | DKK 78,88 | 4 | 7,5 % |
| 2 | Øvelser for computernørder! Dvd’en! | 7 | DKK 14,88 | 6 | 4 % |
| 2 | Den magiske computerchip | 4 | DKK 32,65 | 8 | 0 |
| 2 | Computernørder og mytiske dyr | 6 | DKK 78,50 | 4 | 0 |
| 3 | Access! Spillet! | 5 | DKK 22,95 | 5 | 15 % |
| 4 | Programmør-actionfigur | 1 | DKK 12,95 | 2 | 6 % |
| 4 | Den ultimative flyvende pizza | 8 | DKK 36,75 | 8 | 4 % |
| 5 | Eksternt 5,25” diskettedrev (1/4 skala) | 9 | DKK 65,00 | 4 | 10 % |
| 6 | Relationsdatabasediagram | 3 | DKK 22,50 | 12 | 6,5 % |
| 7 | Gloom | 11 | DKK 53,33 | 6 | 8 % |
| 7 | Relationsdatabasediagram | 3 | DKK 22,50 | 4 | 9 % |
Følgende trin beskriver, hvordan du opretter en krydstabuleringsforespørgsel, der grupperer det samlede salg efter by. Forespørgslen bruger to udtryk til at returnere en formateret dato og en salgstotal.
Oprette en krydstabuleringsforespørgsel
- Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
- Dobbeltklik på de tabeller, du vil bruge i forespørgslen. Hver tabel vises som et vindue i den øverste del af forespørgselsdesigneren. Hvis du bruger eksempeltabellerne, skal du dobbeltklikke på tabellen Ordrer og tabellen Ordredetaljer.
- Dobbeltklik på de felter, du vil bruge i forespørgslen. Hvert feltnavn vises i en tom celle i rækken Felt i designgitteret. Hvis du bruger eksempeltabellerne, kan du tilføje felterne Forsendelsesby og Forsendelsesdato fra tabellen Ordrer.
- I den næste tomme celle i rækken Felt skal du kopiere og indsætte eller skrive følgende udtryk:
Total Sales: Sum(CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100) - Klik på Krydstabulering i gruppen Forespørgselstype under fanen Forespørgselsdesign. Rækken Total og rækken Krydstabulering vises i designgitteret.
- Klik på cellen i rækken Total i feltet By, og vælg Gruppér efter. Gør det samme for feltet Afsendelsesdato. Skift værdien i cellen Total for feltet Samlet salg til Udtryk.
- I rækken Krydstabulering skal du angive cellen i feltet By til Rækkeoverskrift, angive feltet Forsendelsesdato til Kolonneoverskrift og angive feltet Samlet salg til Værdi.
- Klik på Kør i gruppen Resultater under fanen Forespørgselsdesign. Resultatet af forespørgslen vises i dataarkvisningen.
Reference til aggregeringsfunktionen
Denne tabel viser og beskriver aggregeringsfunktionerne, som Access kan anvende i rækken Total og forespørgsler. Husk, at Access indeholder flere aggregeringsfunktioner til forespørgsler, end det er tilfældet for rækken Total.
| Funktion | Beskrivelse | Brug med datatype(r) |
|---|---|---|
| Middel | Beregner den gennemsnitlige værdi for en kolonne. Kolonnen skal indeholde numeriske data, valutadata eller dato/klokkeslæt-data. Funktionen ignorerer null-værdier. | Tal, valuta, dato/klokkeslæt |
| Antal | Returnerer antallet af elementer i en kolonne. | Alle datatyper undtagen komplekse gentagne skalardata, f.eks. en kolonne med lister med flere værdier. Du kan finde flere oplysninger om lister med flere værdier i artiklen Opret eller slet et felt med flere værdier. |
| Maksimum | Returnerer elementet med den højeste værdi. For tekstdata er den højeste værdi den sidste alfabetiske værdi – Access skelner ikke mellem store og små bogstaver. Funktionen ignorerer null-værdier. | Tal, valuta, dato/klokkeslæt |
| Minimum | Returnerer elementet med den laveste værdi. For tekstdata er den laveste værdi den første alfabetiske værdi – Access skelner ikke mellem store og små bogstaver. Funktionen ignorerer null-værdier. | Tal, valuta, dato/klokkeslæt |
| Standardafvigelse | Måler, hvor meget værdier afviger fra gennemsnitsværdien (middelværdien). Find flere oplysninger om brug af denne funktion i artiklen Vise kolonnetotaler i et dataark. |
Tal, valuta |
| Sum | Summerer elementerne i en kolonne. Fungerer kun med numeriske data og valutadata. | Tal, valuta |
| Varians | Måler den statistiske varians for alle værdier i kolonnen. Du kan kun bruge denne funktion på numeriske data og valutadata. Hvis tabellen indeholder færre end to rækker, returnerer Access en null-værdi. Find flere oplysninger om variansfunktioner i artiklen Vise kolonnetotaler i et dataark. |
Tal, valuta |