IT Fördjupning Jon Wide Olika datakällor IT Fördjupning Jon Wide
Först: Packa upp lite filer Leta upp ”Ovningsfiler.zip” och ladda ner den. Packa upp innehållet i lämplig katalog
Var kan vi hämta data? Databas Excel Excel ODBC MS Query Text XML Excel behöver inte alltid använda sig av en databas för att hämta data in i en arbetsbok. Det finns en mängd olika typer av datakällor som Excel kan jobba med, och många av dessa kan även använda MS Query och ODBC (Open DataBase Connectivity) för att styra, filtrera och arrangera data innan Excel importerar det. Några datakällor som den här kursen kommer ta upp (det finns många fler, men det tas inte upp i kursen) är: Databaser: Detta har vi tittat på under lektion 1 och 2 Excel: Excel kan importera data från andra Excelfiler på flertalet olika sätt. Dels kan man referera till en annan arbetsbok. Detta kallas för att sammanlänka eller konsolidera arbetsböcker (begreppet konsolidera tas upp senare i denna lektion). Vi kan också utnyttja MS Query för att se en eller flera arbetsböcker som databastabeller. Text och XML: Detta är två olika dataformat som många program och system brukar använda för att utbyta data med varandra. Många program har t.ex. inte en databas i botten utan andra sätt att lagra data. Då kan dessa program ofta exportera informationen via text eller XML som Excel sen kan läsa in och göra om till tabeller. Även här kan MS Query användas om man vill. När det gäller Excel, Text och XML så är det inte nödvändigt att använda MS Query, utan det går oftast lättare att länka direkt till dessa ”datakällor” XML
Hur kan vi hämta data? Direkt/inläst (statisk): Data läses in i Excel utan att bibehålla länk till källan. Kan inte uppdateras. Länkat/refererat (dynamisk) Excel behåller en länk/referens till ursprungsskällan. Kan uppdateras. När man hämtar data så kan man välja att: Läsa in det ”statiskt”, dvs. det finns ingen referens eller koppling till källan man läser från. Det blir en ren kopia i Excel och den kan inte uppdateras såvida man inte läser in data manuellt igen. Läsa in det ”dynamiskt”, dvs. en länk/referens bibehålls till datakällan och om datakällan ändras, så ändras även informationen i Excel (ibland måste man manuellt klicka på ”Uppdatera” för att uppdaterad information ska hämtas).
Läs in data från Excel Metod 1: Klistra in special (länk) Metod 2: Andra källor MS Query… Excel Files
Text: Kommaseparerade filer (CSV*) En textfil med rader och kolumner. Kolumner avgränsas med ett s.k. ”separatortecken”; Ordernr,Artikelgrupp,Veckodag,Belopp,Försäljare 1201,Krukväxter,måndag,125,Eva 1202,Perenner,måndag,89,Per 1203,Krukor,måndag,248,Eva 1204,Snittblommor,måndag,78,Maria 1205,Perenner,måndag,395,Maria 1206,Krukor,måndag,620,Per … Excel kan läsa in data från vanliga textfiler, under förutsättning att de är utformade på ett speciellt sätt så att Excel kan identifiera rader och kolumner. Detta löser man genom en standardiserad metod som kallas ”kommaseparerade textfiler” (alt. ”kommaavgränsande textfiler” eller det engelska ”CSV = Comma Separated Values”). En kommaseparerad textfil består av en eller flera textrader. Dessa rader ska motsvara rader i Excel. Varje textrad är sen indelad i kolumner där man låter ett speciellt tecken få tolkas som ett slags kolumntecken, vanligtvis ett komma-tecken. Andra vanliga kolumntecken/separatortecken är semikolon eller s.k. tab-tecken. En viktig sak när det gäller den här formen av datalagring är just valet av separatortecken. Om de olika fälten innehåller samma tecken så kommer Excel bli förvirrad och dela upp ett fält i flera kolumner. T.ex. följande textrad ”1203, Krukor, mönstrade, måndag, 248, Eva” har fått ett extra kommatecken eftersom man har valt att klassificera krukor som mönstrade eller omönstrade (”krukor, mönstrade”). När Excel ska göra kolumner av detta så gör den alltså en extra kolumn eftersom det återfinns ytterligare ett kommatecken. Därför är det bättre i det här fallet att byta separatortecken till semikolon: ”1203; Krukor, mönstrade; måndag; 248; Eva” Vanliga separatortecken är komma, semikolon eller tab (* CSV = Comma Separated Values)
Läsa in från text – Hur gör man? För att läsa in data från en kommaseparerad textfil så väljer man helt enkelt att ”Öppna” i Excel. Längst ner till höger kan man välja att visa endast textfiler. Man måste inte välja det, men det underlättar när man letar (det är en filtreringsfunktion som bara visar de filer som man vill se). Därefter följer en rad dialoger där man får välja hur textfilen ska läsas in och tolkas.
XML – vad är det? XML = ”eXtended Markup Language” En textfil med ett specifikt format där element/fält organiseras strukturerat <catalog> <book> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <price>44.95</price> </book> <author>Ralls, Kim</author> <title>Midnight Rain</title> <price>5.95</price> </catalog> XML står för ”eXtended Markup Language” och är ett standardiserat filformat för att strukturera information på ett tydligt sätt. XML-filer har ett väldefinierat format och man kan titta på dem i en vanlig texteditor, t.ex. Anteckningar/Notepad i Windows. Informationen struktureras med sk. Tags (inom ”<start på datafält>.. Datafält här .. </slut på datafält>”) och varje datafält kan i sin tur innehålla fler datafält. Det gör att strukturen är hierarkisk… Excel översätter XML till att handla om rader och kolumner. Så första nivån är datamängden (<catalog> i exemplet), andra nivån är enskilda rader (<book> i exemplet>, tredje nivån är kolumner (<author>, <title>, <price>) Nog om XML-kunskap… Notera att XML-filer kan vara mycket mer komplexa än så här och är inte alltid avsedda att importera till Excel.
Läsa in från XML (1) Metod 1: För att läsa in data från en XML-fil så väljer man helt enkelt att ”Öppna” i Excel. Längst ner till höger kan man välja att visa endast XML-filer. Man måste inte välja det, men det underlättar när man letar (det är en filtreringsfunktion som bara visar de filer som man vill se). Därefter följer en rad dialoger där man får välja hur textfilen ska läsas in och tolkas.
Läsa in från XML (2) Metod 2: En annan variant att läsa in från XML är att använda Data-fliken Från andra källor Från XML-dataimport
När behöver man detta? När man inte har tillgång till verktygets databas När verktyget kan exportera till olika format, t.ex. CSV, XML eller Excel Excel Ett godtyckligt program Text/ XML Många program använder egna interna sätt att lagra data. Det finns alltså ingen databas att tillgå utan all information lagras på en fil vars struktur är okänd. Då finns det oftast möjlighet att exportera data från detta program till t.ex. Text eller XML. Den exporterade informationen kan Excel ofta läsa. Så genom att bibehålla en specifik plats och ett specifikt namn för de exporterade filerna så kan man behålla en form av dynamisk länk i flera steg mellan Excel och det godtyckliga programmet. Varje gång man vill ha ny och fräsch data så exporterar programmet nya text/xml-filer och skriver över de gamla. Excel läser in detta och får därmed ny och fräsch information