Från databas till Excel IT Fördjupning Göran Wiréen
Olika metoder Direktanslutning till databas (manuellt eller ”wizard”) Denna metod går ”rakt på sak” och man får bara ut en enda tabell åt gången Via Microsoft Query Denna metod kan anpassa vilken information man vill ha ut från en eller flera tabeller
Var/Hur? Anslutning och import av data från en databas till Excel sker i fliken ”Data”. Under ”From Other Sources” (sv ”Från andra källor”) hittar man några olika alternativ. Det är 1:a, 4:e och 5:e alternativen som är relevanta för den här kursen.
Direktanslutning (visas ”live”)
Microsoft Query Så här fungerar det. (ODBC) Den externa databasen kan vara av olika typ (t.ex. My SQL, Oracle, SQL Server). Datakällan är ett slags ”översättningsgränssnitt” som använder ett specifikt protokoll (ODBC, Open DataBase Connectivity). Tack vare detta gränssnitt så behöver olika program inte bekymra sig för hur man kommunicerar med olika typer av databaser. T.ex. så ansluter Microsoft Query mot en ODBC-datakälla och kommunicerar med den oavsett vilken typ av databas som är på andra sidan. När Microsoft Query ställer ”frågor/queries” till Datakällan så skickas frågan vidare till databasen (med korrekt ”översättning” som fungerar på databasen). Svaret går sen tillbaka via Datakällan och anpassas till Microsoft Query som sen bearbetar, sorterar, filtrerar datan innan den skickas vidare till Excel. Den data som skickas till Excel blir en slutgiltig tabell med det önskade resultatet. Ett exempel: Microsoft Query ställs in för att hämta ”en tabell med varje säljares försäljningssumma föregående månad, sorterat i bokstavsordning”. Microsoft Query skickar en begäran till Datakällan att hämta de tabeller som behövs för ändamålet (ev. filtrerade) innan det slutliga resultatet skickas vidare till Excel. Om användare väljer att uppdatera arbetsboken så hämtas ny information.
Microsoft Query Microsoft Query är ett program du kan använda för att hämta och förbehandla data från externa källor. Genom att använda Microsoft Query får du mer makt och översikt över de tabeller och den information du vill ha in i Excel.
MS Query: Hämta en tabell Så här ser det ut om du hämtar ut en hel tabell ur databasen och visar den i MS Query. Du kan även ta in tabellen direkt till Excel, men då får du bara se resultatet i tabellform. Genom att stanna kvar i MS Query så kan du manipulera vilken data som ska användas. T.ex. så kan vi välja vilka kolumner som vi vill ha in i Excel. I den här skärmdumpen så ser vi att det kan röra sig om 30+ kolumner och det kan man vilja minimera till relevanta kolumner. Markera de kolumner som du vill ta bort och tryck ”Delete”. NB: Det som inte visas i dessa skärmdumpar är hur man ansluter till databasen och väljer ut vilka tabeller som ska visas. Se i övningarna hur man gör detta
MS Query: Välj relevant data I denna bild illustreras att man kan välja vilka kolumner som ska användas som data samt filtrera ut vissa rader (t.ex. där ”language_code” är ”SVE”). Tabellen ”Customer” innehåller mer än 50 kolumner, och i det här exemplet har vi bara valt ut 5 kolumner, och därefter angett att vi bara vill se rader som har svenska som ”språkkod”: Radera de kolumner som inte är relevanta. Alternativt ta bort alla kolumner och lägg till dem en och en genom att dubbelklicka/dra kolumnamnet från tabellen ”customer” eller välj i dropdown-listan längst till höger i tabellen. Välj ”Criteria -> Add Criteria” för att filtrera olika kolumner. Filtreringsvillkoren visas sen i mitten.
MS Query: Flera tabeller I denna skärmdump så har vi tagit ytterligare ett steg. Kolumnen ”Salesman code” i föregående bild säger inte så mycket mer än att det är säljarens initialer. Genom att lägga till ytterligare en tabell för ”Salesman” så kommer MS Query länka samman de två tabellerna och plocka ut data från båda som gör att det hela blir mer begripligt. Det visas en relation/koppling mellan tabellerna som styrs av ”salesman_code”. Genom att dubbelklicka på ”salesman_name” i den nya tabellen så kommer säljarens fullständiga namn visas. Därmed kan vi radera kolumnen för salesman_code eftersom den var så intetsägande för oss.
Lär dig mer! http://office.microsoft.com/sv-se/excel-help/anvanda-microsoft-query-for-att-hamta-externa-data-HA010099664.aspx