Hitta poster som har de senaste senaste datumen

Support för Office 2010 upphörde den 13 oktober 2020

Uppgradera till Microsoft 365 om du vill arbeta på valfri enhet var du än är och fortsätta få support.

Uppgradera nu

I den här artikeln förklaras hur du använder frågor med de högsta värdena och summeringsfrågor för att hitta de senaste eller tidigaste datumen i en uppsättning poster. Det här kan hjälpa dig att besvara flera olika affärsfrågor, till exempel när en kund sist placerade en order eller vilka fem kvartal som har varit bäst för försäljning, per ort.

Artikelinnehåll

Översikt

Du kan rangordna data och granska de högst rankade objekten med hjälp av en fråga med högst värden. En toppvärdesfråga är en urvalsfråga som returnerar ett angivet antal eller procent av värden högst upp i resultatet, till exempel de fem mest populära sidorna på en webbplats. Du kan använda en fråga med de högsta värdena mot alla typer av värden – de behöver inte vara tal.

Om du vill gruppera eller summera data innan du rangordnar dem behöver du inte använda en fråga med högst värden. Anta till exempel att du behöver hitta försäljningsnumren för ett visst datum för varje ort där företaget verkar. I så fall blir städer kategorier (du behöver hitta data per ort), så du använder en summafråga.

När du använder en toppvärdesfråga för att hitta poster som innehåller de senaste eller tidigaste datumen i en tabell eller grupp med poster kan du besvara flera olika affärsfrågor, till exempel följande:

  • Vem har haft mest försäljning på sistone?

  • När gjorde en kund senast en beställning?

  • När är de kommande tre födelsedagarna i teamet?

Om du vill skapa en toppvärdesfråga börjar du med att skapa en urvalsfråga. Sedan sorterar du data enligt din fråga – oavsett om du letar efter den övre eller nedre delen. Om du behöver gruppera eller summera data omvandlar du urvalsfrågan till en summafråga. Sedan kan du använda en mängdfunktion, till exempel Max eller Min, för att returnera det högsta eller lägsta värdet, eller Första eller Sista för att returnera det tidigaste eller senaste datumet.

Den här artikeln förutsätter att de datumvärden som du använder har datatypen Datum/tid. Om datumvärdena finns i ett textfält, .

Överväg att använda ett filter i stället för en fråga med de högsta värdena

Ett filter är oftast bättre om du har ett visst datum i åtanke. För att avgöra om du ska skapa en toppvärdesfråga eller använda ett filter ska du tänka på följande:

  • Om du vill returnera alla poster där datumet matchar, är före eller senare än ett visst datum använder du ett filter. Om du till exempel vill visa datumen för försäljning mellan april och juli använder du ett filter.

  • Om du vill returnera ett angivet antal poster som har de senaste eller senaste datumen i ett fält och du inte känner till de exakta datumvärdena, eller om de inte spelar någon roll, skapar du en fråga med de högsta värdena. Om du till exempel vill visa de fem bästa försäljningskvar kvartalen använder du en fråga med de högsta värdena.

Mer information om hur du skapar och använder filter finns i artikeln Använda ett filter för att visa vissa poster i en Access-databas.

Överst på sidan

Förbereda exempeldata som ska följa med i exemplen

I stegen i den här artikeln används data i följande exempeltabeller.

Tabellen Anställda   

LastName

Förnamn

Adress

Ort

Utgående CountryOrR

Födelsedatum

Anställningsdatum

Barnhill

Jonas

1 Main St.

New York

USA

1968-02-05

1994-06-10

Heloo

Waleed

52 1st St.

Boston

USA

22 maj 1957

22/11-1996

Pica

Guido

3122 75th Ave. S.W.

Seattle

USA

11/11-1960

2000-11-mar

Bagel

Sådd

1 Contoso Blvd.

London

Storbritannien

22/3-1964

22 juni 1998

Pris

Julian

Calle Smith 2

Mexico City

Mexiko

1972-06-05

2002-01-05

Hughes

Eng

3122 75th St. S.

Seattle

USA

1970-01-23

1999-04-23

Hann

Steve

67 Big St.

Tampa

USA

1964-04-14

2004-01-14

Hannby

Eng

2 Näsig Pkwy

Portland

USA

29/10-1959

29/3-1997

Tabellen EventType    

TypeID

Händelsetyp

1

Produktlansering

2

Funktionen Företag

3

Funktionen Privat

4

Fund Raiser

5

Mässa

6

Föreläsning

7

Konsert

8

Ställer ut

9

Gatumässa

Tabellen Kunder    

Kund-ID

Företag

Kontaktperson

1

Contoso, Ltd. Grafik

Jonas Haas

2

Tailspin Toys

Ellen Adams

3

Fabrikam

Carol Philips

4

Wingtip Toys

Lucio Iallo

5

A. Datum

Mandar Samant

6

Adventure Works

Brian Burke

7

Designinstitut

Jaka Uppringning

8

School of Fine Art

Milena Duomanova

Tabellen Händelser    

Händelse-ID

Händelsetyp

Kund

Händelsedatum

Pris

1

Produktlansering

Contoso, Ltd.

4/14/2011

10 000 kr

2

Funktionen Företag

Tailspin Toys

4/21/2011

8 000 kr

3

Mässa

Tailspin Toys

2011-05-01

25 000 kr

4

Ställer ut

Graphic Design Institute

5/13/2011

4 500 kr

5

Mässa

Contoso, Ltd.

5/14/2011

55 000 kr

6

Konsert

School of Fine Art

5/23/2011

12 000 kr

7

Produktlansering

A. Datum

6/1/2011

15 000 kr

8

Produktlansering

Wingtip Toys

6/18/2011

21 000 kr

9

Fund Raiser

Adventure Works

6/22/2011

1 300 kr

10

Föreläsning

Graphic Design Institute

6/25/2011

2 450 kr

11

Föreläsning

Contoso, Ltd.

2011-07-04

3 800 kr

1,2

Gatumässa

Graphic Design Institute

2011-07-04

5 500 kr

Obs!: Stegen i det här avsnittet förutsätter att tabellerna Kunder och Händelsetyp finns på 1-sidan av en-till-många-relationer med tabellen Händelser. I det här fallet delar tabellen Händelser fälten CustomerID och TypeID. Summorna som beskrivs i nästa avsnitt fungerar inte utan dessa relationer.

Klistra in exempeldata i Excel-kalkylblad

  1. Starta Excel. En tom arbetsbok öppnas.

  2. Tryck på SKIFT+F11 för att infoga ett kalkylblad (du behöver fyra).

  3. Kopiera data från varje exempeltabell till ett tomt kalkylblad. Ta med kolumnrubrikerna (den första raden).

Skapa databastabeller från kalkylbladen

  1. Markera data från det första kalkylbladet, inklusive kolumnrubrikerna.

  2. Högerklicka i navigeringsfönstret och klicka sedan på Klistra in.

  3. Klicka Ja för att bekräfta att den första raden innehåller kolumnrubriker.

  4. Upprepa steg 1–3 för vart och ett av de återstående kalkylbladen.

Hitta det senaste eller senaste datumet

I stegen i det här avsnittet används exempeldata för att illustrera processen med att skapa en fråga med högst värden.

Skapa en grundläggande toppvärdesfråga

  1. Klicka på Frågedesign i gruppen Frågor på fliken Skapa.

  2. Dubbelklicka på tabellen Anställda och klicka sedan på Stäng.

    Om du använder exempeldata lägger du till tabellen Anställda i frågan.

  3. Lägg till de fält som du vill använda i frågan i designrutnätet. Du kan dubbelklicka på varje fält eller dra och släppa varje fält i en tom cell i fältraden.

    Om du använder exempeltabellen lägger du till fälten Förnamn, Efternamn och Födelsedatum.

  4. I fältet som innehåller de högsta och lägsta värdena (fältet Födelsedatum om du använder exempeltabellen) klickar du på raden Sortera och väljer antingen Stigande ellerFallande.

    Fallande sorteringsordning returnerar det senaste datumet och stigande sorteringsordning returnerar det tidigaste datumet.

    Viktigt!: Du måste bara ange ett värde på raden Sortera för fält som innehåller datum. Om du anger en sorteringsordning för ett annat fält returnerar frågan inte de resultat du vill ha.

  5. Klicka på nedåtpilen bredvid Alla (listan Med mest värden) i gruppen Verktyg på fliken Design och ange antingen antalet poster som du vill se eller välj ett alternativ i listan.

  6. Klicka Knappbild köra frågan och visa resultatet i databladsvyn.

  7. Spara frågan som NextBirthDays.

Du kan se att den här typen av toppvärdesfråga kan besvara grundläggande frågor, till exempel vem som är den äldsta eller äldsta personen i företaget. I följande steg förklaras hur du använder uttryck och andra villkor för att lägga till kraft och flexibilitet i frågan. Villkoren som visas i nästa steg returnerar de kommande tre anställdas födelsedagar.

Lägg till villkor i frågan

I de här stegen används frågan som skapades i föregående procedur. Du kan följa med i en annan toppvärdesfråga så länge den innehåller faktiska datum-/tidsdata, inte textvärden.

Tips:  Om du bättre vill förstå hur den här frågan fungerar växlar du mellan designvyn och databladsvyn i varje steg. Om du vill se den faktiska frågekoden växlar du till SQL-vyn. Om du vill växla mellan vyer högerklickar du på fliken högst upp i frågan och klickar sedan på den vy som du vill använda.

  1. Högerklicka på frågan NextBirthDays i navigeringsfönstret och klicka sedan på Designvy.

  2. I frågerutnätet, i kolumnen till höger om födelsedatum, anger du följande:
    Month Parameter: DatePart("m",[BirthDate]).
    Det här uttrycket extraherar månaden från Födelsedatum med hjälp av funktionen DatumDel.

  3. I nästa kolumn i frågerutnätet anger du följande:
    DayOfMonthDatabas: DatePart("d",[BirthDate])Det här uttrycket extraherar dagen i månaden från Födelsedatum med funktionen
    DatumDel.

  4. Avmarkera kryssrutorna på raden Visa för vart och ett av de två uttryck som du just angav.

  5. Klicka på raden Sortera för varje uttryck och välj sedan Stigande.

  6. Skriv följande uttryck på raden Villkor i kolumnen Födelsedatum:
    Månad([Födelsedatum]) > Månad(Datum()) ELLER Månad([Födelsedatum])= Månad(Datum()) OCH Dag([Födelsedatum])>Dag(Datum())Det här uttrycket gör
    följande:

    • Month( [Birth Date]) > Month(Date()) anger att födelsedatumet för varje anställd infaller i en kommande månad.

    • The Month([Birth Date])= Month(Date()) And Day([Birth Date])>Day(Date()) specifies that if the birth date in the current month, the birthday falls on or after the current day.

      Det här uttrycket exkluderar i korthet poster där födelsedagen inträffar mellan den 1 januari och dagens datum.

      Tips:  Fler exempel på frågevillkorsuttryck finns i artikeln Exempel på frågevillkor.

  7. Skriv 3 i returrutan i gruppen Frågeinställningar på flikenDesign.

  8. Klicka på Kör i gruppen Resultat på fliken Design Knappbild .

Obs!:  I din egen fråga med dina egna data kanske du ibland ser fler poster än du angav. Om dina data innehåller flera poster som delar ett värde som ligger bland de översta värdena returnerar frågan alla sådana poster även om det innebär att returnera fler poster än vad du vill ha.

Överst på sidan

Hitta de senaste eller senaste datumen för grupper av poster

Du använder en summafråga för att hitta de tidigaste eller senaste datumen för poster som finns i grupper, till exempel händelser grupperade efter ort. En summafråga är en urvalsfråga som använder mängdfunktioner (som Gruppera efter, Mi,Max,Antal,Förstaoch Sista) för att beräkna värden för varje utdatafält.

Ta med fältet som du vill använda för kategorier – att gruppera efter – och fältet med värden som du vill summera. Om du tar med andra utdatafält, t.ex. kundernas namn när du grupperar efter händelsetyp, används även dessa fält för att skapa grupper och resultatet ändras så att de inte svarar på den ursprungliga frågan. Om du vill märka raderna med andra fält skapar du en extra fråga som använder summafrågan som källa och lägger till ytterligare fält i frågan.

Tips:  Att skapa frågor i steg är en mycket effektiv strategi för att besvara mer avancerade frågor. Om du har problem med att få en komplicerad fråga att arbeta med kan du överväga om du skulle kunna dela upp den i en serie enklare frågor.

Skapa en summafråga

I den här proceduren används exempeltabellen Händelser och exempeltabellen EventType för att besvara den här frågan:

När var den senaste händelsen av varje händelsetyp, exklusive undantag?

  1. Klicka på Frågedesign i gruppen Frågor på fliken Skapa.

  2. Dubbelklicka på tabellerna Händelser och EventType.
    Varje tabell visas i den övre delen av frågedesignern.

  3. Dubbelklicka på fältet EventType i tabellen EventType och fältet EventDate från tabellen Händelser för att lägga till fälten i frågerutnätet.

  4. I frågerutnätet, på raden Villkor i fältet EventType, anger du<>konsert.

    Tips:  Fler exempel på villkorsuttryck finns i artikeln Exempel på frågevillkor.

  5. Klicka på Summor i gruppen Visa/dölj på fliken Design.

  6. Klicka på summaraden i fältet EventDate i frågerutnätet och klicka sedan på Max.

  7. Klicka på SQL-vy i gruppen Resultat på fliken Design och sedan på Datablad.

  8. Ersätt MaxOfEventDate med MostRecent i slutet av SELECT-satsen, precis efter NYCKELORD-nyckelordet i SQL-fönstret.

  9. Spara frågan som MostRecentEventByType.

Skapa en andra fråga för att lägga till mer data

I den här proceduren används frågan MostRecentEventByType från föregående procedur för att besvara den här frågan:

Vem var kund vid den senaste händelsen för varje händelsetyp?

  1. Klicka på Frågedesign i gruppen Frågor på fliken Skapa.

  2. Dubbelklicka på Frågan MostRecentEventByType på fliken Frågor.

  3. Dubbelklicka på tabellen Händelser och tabellen Kunder på fliken Tabeller.

  4. Dubbelklicka på följande fält i frågedesignern:

    1. Dubbelklicka på EventType i tabellen Händelser.

    2. I frågan MostRecentEventByType dubbelklickar du på MostRecent.

    3. Dubbelklicka på Företag i tabellen Kunder.

  5. I frågerutnätet, på raden Sortera i kolumnen EventType, väljer du Stigande.

  6. Klicka på Kör i gruppen Resultat på fliken Design.

Överst på sidan

Behöver du mer hjälp?

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×