Visar inlägg med etikett Guider. Visa alla inlägg
Visar inlägg med etikett Guider. Visa alla inlägg

måndag 14 september 2015

Guide: Slå samman tabeller. Merge/Join Excel-tabell med hjälp av LibreOffice Databas (Base)

Kort om innehållet i denna artikel

Har du någon gång behövt slå ihop data från två olika Excel-ark i ett ark? T ex om du har två listor med information från samma kunder. Listorna är kanske inte sorterade, och innehåller olika typer av information som kompletterar varandra. Dock har du minst en kolumn med information som gör att du kan identifiera vilken information som tillhör vilken kund. Du vill slå ihop all denna information så att du har informationen samlade i ett Excel-ark och kan bearbeta de.
Det hade varit underbart om Excel erbjöd ett enkelt sätt att utföra detta på, men det finns det inte vad jag vet. Kanske fungerar denna add-in till Excel, DigDB (jag har dock inte testat i skrivande stund).

Jag är något förvånad över att en sådan funktion inte finns i Microsoft Excel, så jag har fått lösa det med hjälp av LibreOffice Databas (Base) och LibreOffice Kalkylblad (Calc).
Det finns antagligen liknande möjligheter i Microsoft Office Access/Excel, men jag föredrar att arbeta med program som bygger på öppen källkod.

En varning

Denna guide är ett utkast för egen användning. Jag kan alltså inte garantera att guiden är fullständig och än mindre att den är pedagogiskt riktig. ;)
Och för er språknördar, jag blandar "jag", "du" och "vi" hejvilt!

Anledningen till att jag lägger upp den är för att att jag själv med jämna mellanrum har behov att slå samman tabeller från Microsoft Excel/LibreOffice Kalkylblad (Calc). Denna snabbguide hjälper mig att snabbare komma in i funktionerna igen.

Jag kommer, som sagt, att använda mig av LibreOffice Databas (Base) och LibreOffice Kakylblad (Calc). När datan är sparad med hjälp av LibreOffice Kalkylblad (Calc) kan tabellen öppnas i Mcrosoft Office Excel.

LibreOffice är ett gratis "Office"-paket, liknande Microsoft Office, som kan hämtas här:  LibreOffice.

Hur du använder LibreOffice Databas (Base) för att slå ihop (join/merge) två Excel-ark 

Då Excel inte tycks ha någon bra funktion för att slå ihop två olika Excel-ark använder jag mig av LibreOffice Base för att slå samman information från två olika ark till ett Excel-ark. (Ibland använder jag även ArcMap och QGIS för att fixa det).

1. Två Excel-ark
Det börjar med att du har två Excel-ark med olika information. Någon av kolumnerna måste dock innehålla någon typ av information som gör det möjligt att avgöra vilken information som tillhör vilken kund.
I detta exempel har vi kolumnen ID.

Excel-ark 1: Utan skostorlek. Kunden har samma ID.

Excel-ark 2: Med skostorlek. Kunden har samma ID.
2. Öppna LibreOffice Databas (Base)
2. Öppna LibreOffice Base.
3. Skapa en ny databas
3a. Skapa en ny databas. Klicka på Nästa.

3b. Skapa en ny databas. Klicka på Slutför.
4. Skapa en tabell i LibreOffice Databas (Base)
Vi kommer att skapa två tabeller i LibreOffice Base. I den ena tabellen kommer vi att kopiera in datan från det ena Excel-arket, och i den andra tabellen kommer vi att kopiera in datan från det andra Excel-arket.

Skapa en tabell i LibreOffice Databas genom att klicka på "Tabeller" och sedan "Skapa en tabell med hjälp av guiden..."

Skapa en tabell i LibreOffice Databas.




5. Följ Tabellguidens olika steg
Tabellguiden hjälper dig att skapa olika kolumner i LibreOffice Databas.

5a. Börja med att välja bland de föreslagna kolumnerna i fältet "Tillgängliga fält". De fält du väljer bör vara samma som du har i ditt Excel-ark. Hittar du inga fält som passar kan man ändra dessa i efterhand (t ex fälten kund-ID, skonummer, ort etc).
Klicka på "Nästa".

5a. Välj passande fält för din tabell.

5b. I nästa steg kan du döpa om fälten, samt ändra vilken typ av variabler som fälten ska fyllas med.
Ändra namn så att de stämmer överens med namnen på de fält du har i ditt ena Excel-ark.
Klicka på "Nästa".

5B. Döp om fälten.
5c. Ingen primärnyckel
I detta fall behöver vi ingen primärnyckel. Ta bort krysset i rutan "Skapa primärnyckel".
Klicka på "Nästa".
5c. Ingen primärnyckel behövs. Klicka på "Nästa".
5d. Ge tabellen ett namn.
Ge kolumnen ett namn som gör det lätt att känna igen vilken tabell det är. T ex namnet "Utan skostorlek".
Klicka på "Färdigställ".
5d. Ge tabellen ett namn.
Du har nu skapat en tom tabell i LibreOffice Databas.
6. Klistra in datan från Excel i LibreOffice Databas.
Den tomma tabellen som vi nyss skapade ska vi nu fylla med datan från Excel. Gå till ditt första Excel-ark och markera all data.
Kopiera datan.
6. Kopiera din data från Excel-ark 1.

7a. Klistra in datan i tabellen i LibreOffice Databas (Bas)
Gå tillbaka till LibreOffice Dtabas. Högerklicka på din nyligen skapade databas och klicka på "Klistra in".








7a. Klistra in informationen i databasen.

7b. Välj "Lägg till data".
Dialogruta "Kopiera tabell" öppnas. Välj "Lägg till data".
Klicka på "Nästa".
7b. Välj "Lägg till data". Klicka på "Nästa".
7c. Dialogrutan "Tilldela kolumner".
Nu kommer vi till dialogrutan "Tilldela kolumner". Se till att samtliga kolumner finns med, både från ditt Excel-ark och i den tabell du skapat i LibreOffice Databas. Se även till att de ligger i rätt ordning, så att din data hamnar i rätt kolumn när den förs över till tabellen i LibreOffice Databas (blir det fel går det givetvis att ändra i efterhand).
Klicka på "Färdigställ".
7c. Kontrollera att samtliga kolumner kommer med i överföringen mellan ditt Excel-ark och tabellen i LibreOffice Databas. Klicka på "Färdigställ".
Du har nu en tabell med information i LibreOffice Databas.
8. Skapa en tabell till i LibreOffice Databas (Base) och fyll den med information från ditt andra Excel-ark
Nu ska vi skapa en databas till i LibreOffice Databas som ska fyllas med inforamtionen från Excel-ark 2. Detta moment utför du precis som när du skapade din första tabell och fyllde den med information från Excel-ark 1.

Din andra tabell skapar du genom att följa steg 4 - 7c. Ge dock tabellen något annat namn, och klistra in informationen från ditt andra Excel-ark.
När du ä klar med detta går du till steg 10.

10. Merge/Join, sammanfoga de två tabellerna till en tabell.

Nu har vi två tabeller (eller fler om det behövs) i LibreOffice Databas, som innehåller samma information som våra Excel-ark.
Det har därför blivit dags att sammanfoga dessa tabeller till en tabell.

Detta gör du genom att välja "Frågor" och "Skapa fråga i designvy".
10. Välj "Skapa fråga i designvy".
11. Lägg till tabellerna
Dialogrutan "Lägg till tabell eller fråga" öppnas. Här väljer du de tabeller du skapat, och klickar på "Lägg till".
11. "Lägg till" de två tabellerna.
12. Koppla ihop tabellerna
Du kopplar ihop de tv tabellerna genom att klicka på ID i den ena rutan (i det här fallet, då ID är vår unika kolumn som kopplar ihop kundens olika data), hålla inne musknappen och dra den till ID i den andre rutan.
När du kopplat ihop tabellerna syns ett streck mellan de två rutorna.

12. När du kopllat ID i den ena tabellen med ID i den andre tabellen syns ett streck mellan de två rutorna.
13. Välj hur datan i de två tabellerna ska sammanföras.
Nu ska vi välja hur datan i de två tabellerna ska sammanföras, för att sedan skapa en gemensam tabell.
Detta gör vi genom att högerklicka på strecket mellan de två rutorna och välja "Redigera".

13. Högerklicka på strecket och välj "Redigera".
14. Välj hur datan ska slås samman
Dialogrutan "Egenskaper för sammanslagning (join)" öppnas.
Här väljer du hur du ska slå ihop de två tabellerna. Detta väljer du i menyn "Typ".
Längst ner i dialogrutan står en förklaring om vad de olika alternativen innebär. Beroende på hur din data ser ut och hur den ska slås ihop får du välja vilken typ. Här skulle jag säga att testa sig fram ibland beroende på behov.
Förenklat kan man använda sig av alternativet "Inre sammanslagning", då slås enbart de fält där alla har ett samma ID ihop (har du dock en längre lista i den ena tabellen med fler ID än i den andra så krävs det att du väljer ett annat alternativ om du vill få med all data).

Välj "Inre sammanslagning".
Klicka på "OK".

14. Välj hur datan ska slås samman.
15. Välj vilka fält som ska finnas med i den nya tabellen
Nu ska vi välja vilka fält som ska finnas med i den nya tabellen.
Detta gör vi genom att dubbelklicka eller dra de fält som finns i de två rutorna, ner till den nedre tabellen.

15. Dubbelklicka på de variabler du vill ska finnas med i den nya tabellen.
16. Klicka på "Utför fråga".
Klicka på ikonen "Utför fråga".
Den sammanslagna tabellen skapas nu.
16. Klicka på "Utför fråga".
17. Spara den nya tabellen
Spara den nya tabellen genom att klicka på Arkiv -> Spara som.
Dialogrutan "Spara som" öppnas.
Ge den nya tabellen ett namn.
Klicka på OK.
17. Spara som.
Du hittar nu den ny tabellen under "Frågor" i LibreOffice Databas (Base).

Den ny tabellen med den sammanställda datan hittar du i LibreOffice Databas, under "Frågor".

18. Spara databasen.
Spara databasen.
Spara databasen.

Öppna den ny tabellen i LibreOffice Kalkylblad (Calc) .

För att öppna den nya tabellen måste databasen som vi precis sparat även registrerad för att LibreOffice Kalkylblad (Calc) ska kunna hämta information från den. För att registrera databasen gör du på följande sätt.
Om du redan registrerade databasen när skapade den, kan du hoppa över detta steg.

19. Öppna LibreOffice Kalkylblad (Calc)
19. Nu arbetar vi i LibreOffice Kalkylblad (Calc).
20. Registrera databas i Libre Office Kalkylblad (Calc)
Klicka på Visa -> Datakällor
 
20. Klicka på "Visa" -> "Datakällor"
21. Öppna Registrerade databaser
I rutan som öppnas högerklickar du, och väljer "Registrerade databaser".
21. Högerklicka och välj "Registrerade databaser".
22. Lägg till registrerar ny databas.
Dialogrutan "Registrerade databaser" öppnas.
I detta steg registrerar vi den databas som vi tidigare skapat.
Klicka på "Nytt..."

22. Klicka på "Nytt..." i dialogrutan "Registrerade databaser".
23. Skapa databaslänk
Dialogrutan "Skapa databaslänk" öppnas.
Klicka på "...".
23. Klicka på "...".
24. Registrera databas
Leta upp den databas som du tidigare skapat och sparat.
Välj din databas.
Klicka på "Öppnas".
24. Öppna din databas i LibreOffice Kalkylblad (Calc).
25. Ge databasen ett unikt namn
Skriv in ett namn för databasen i rutan "Registrerat namn".
Klicka på "OK".
25. Namnge din databas.Klicka på "OK".
26. Öppna den registrerade databasen och den nya tabellen i LibreOffice Kalykblad (Calc)
När databasen är registrerad kan har du tillgång till databasen i LibreOffice Kalkylblad (Calc).

För att öppna den sammanslagna tabellen som vi tidigare skapat. Klickar du på databasen i vänster ruta. Välj databasen -> Frågor -> Tabellen vi skapade (i detta fall kallas den "Sammanslagning").
Tabellen öppnas nu i höger ruta.
26. Öppna den tabell som vi tidigare skapat i databasen.
27. Kopiera tabellen från databasen
Markera tabellen i databasen. Högerklicka och välj "Kopiera".

27. Markera datan i tabellen i databasen. Högerklicka och "Kopiera".
28. Klistra in tabellen i LibreOffice Kalkylblad (Calc)
Markera tabellen i LibreOffice Kalkylblad (Calc). Högerklicka och välj "Klistra in".
29. Spara tabellen
Nu har vi fått in datan i LibreOffice Kalkylblad (Cal). Spara din data i önskat format. Vill du öppna tabellen i Microsoft Office Excel så är det en god idé att spara tabellen i .xls-/.xlxs-format.

Välj "Spara som..." och spara din tabell.

29. Spara i Excel-format.


PUH, KLART!

fredag 3 april 2015

Importera/Join data i ArcMap

Detta är en guide som jag sammanställde åt studenterna när jag var handledare i kursen Digitala verktyg för planerare vid Malmö högskola.
Kort sagt handlar den hur du importerar data (join data) i ArcMap från en Exceltabell, samt hur du felsöker om allt inte stämmer överens.

Importera/Join data i ArcMap

  1. Öppna ArcMap
  2. Öppna Blank Map (under New Map – My Templates)
  3. Add Data
  4. Bläddra till mappen Excelövning 2 - Överföra statistik till ArcGIS
    (4.1) Om du inte tidigare gjort det, kopiera mappen N:/Stud/KS/BY106C/GIS/Excelövning 2 - Överföra statistik till ArcGIS till er M:
    (4.2) Om du inte tidigare kopplat mappen till ArcMap, välj Connect to Folder och lägg till mappen Excelövning 2 - Överföra statistik till ArcGIS som du hittar i mappen  N:/Stud/KS/BY106C/GIS.
  5. Öppna DELOMR_P.shp
  6. Öppna attributtabellen för DELOMR_P.shp genom att högerklicka på lagret DELOMR_P i TOC (Table of Content). Välj Open Attribute Table. Lägg märke till att Malmös delområden i kolumnen DELOMR är angivna med stora bokstäver (versaler). Se till att du har samma namn, samt versaler, i den excelfil du tänker importera/joina med ArcMap.
    Bild 1: Malmös delområden är skrivna med stora bokstäver (VERSALER)
    Bild 1: Malmös delområden är skrivna med stora bokstäver (VERSALER)

  7. Klicka på Table Options. Välj Join and RelatesJoin... (Du kan även utföra en join genom att högerklicka på lagret i TOC [Table of Content] och välja Join and Relates Join...
  8.  Rutan Join Data öppnas. Här väljer du i Join attributes from a table i rutan What do you want to join to this layer?
    Bild 2: Join Data
    Välj DELOMR i rutan 1. Choose the field in this layer that the join will be based on. I rutan 2. Choose the table to join to this layer, or load the table from disk klickar du på , och väljer den tabellen med Malmös olika delområden som du tidigare rensat/skapat.

    I rutan 3. Choose the field in the table to base the join on väljer du det namnet på den kolumn, i din tabell, som innehåller namnen på Malmös olika delområden. Under Join Options väljer du Keep all records.
    Klicka sedan på Validate Join. Överensstämmer alla namn står det - 136 of 136 records matched by joining. Klicka på Close. Stämde allt klickar du sedan på OK.

    Se nedan för att få tips om hur du kan göra för att korrigera eventuella problem matchningen mellan ArcMaps data och din excelfil.

    Bild 3: Validate Join

    Om inte alla namn matchat beror det på att något namn i din egen tabell inte helt stämmer med namnen i den tabell som ArcMap använder sig av. I så fall måste du rätta till namnen i din tabell. För att göra detta kan du kolla namnen i tabellen som ArcMap använder sig av (alla namn i din tabell måste överensstämma med namnen i ArcMap, minsta punkt och mellanrum måste finnas med i din tabell).

    Tips: Om det inte rapporteras alltför många fel när du klickar Validate Join, t ex om 130 av 136 namn stämmer överens, kan det ändå vara en bra idé att klicka på OK i rutan Join Data för att koppla ihop din tabell med ArcMap. Sedan kan du jämföra rutorna DELOMR och OMRADE (eller vilket namn du nu har på kolumnen för Malmös delområden i din egen tabell) för att se vilka rutor inte stämmer överens. I OMRADE står det <null> om namnet i de två tabellerna inte stämt överens (se bild 2). Kopiera sedan namnet från DELOMR och klistra in det på rätt plats i din exceltabell, och spara på nytt din tabell på nytt (det kan hända att du måste spara som en ny tabell då ArcMap använder sig av den tabell du har öppen). Koppla sedan bort din tidigare Join genom att klicka på Table Options Join and RelatesRemove Join(s) Remove All Joins (eller välj enbart den tabell som du vill koppla bort, om du har kopplat flera tabeller).
    Bild 4: Kontrollera vilka delområden som inte matchat. <Null>-värdet visar var namnen på delområdena inte stämt överens.
    När du sedan korrigerat din exceltabell börjar du om från början med din join (se punkt 7).

    Testa din data!

  9. När din join är klar testa du att symbolisera datan genom att högerklicka på lagret DELOMR_P. Välj Properties Symbology. Välj ut en variabel du vill testa. Fungerade det går du vidare, annars får du se över din data.

    Exportera din data till en ny shapefile (.shp)

  10.  Högerklicka på  DELOMR_P. Välj Data Export Data.... Välj All features i rutan Export. Välj this layer´s source data → Välj namn och plats där du sparar den exporterade datan i Output feature class (se till att du exporterar som shape-fil, alltså med filändelsen .shp)→ Klicka på OK → Klicka på Ja när ArcMap frågar Do you want to add the exported to the map as a layer?


    Det som händer nu är att ArcMap skapar en fil där all data från både shapefilen DELOMR_P.shp och din egen tabell samlas. Tidigare har de varit uppdelade i två filer. Allt data är nu samlad på en plats!
  11. Börja symbolisera!

torsdag 2 april 2015

Absoluta cellreferenser i Excel

Detta är en guide som jag sammanställde åt studenterna när jag var handledare i kursen Digitala verktyg för planerare vid Malmö högskola.
Guiden utgår från en uppgift där man använder sig av data från Malmös olika stadsdelar. Konceptet om hur man skapar absoluta cellreferenser kan dock användas på annan data.

Skapa absoluta cellreferenser i Excel


För att automatiskt räkna ut andelen (delen av det hela) invånare som bor i varje stadsdel kan du använda dig av absoluta cellreferenser i din formel. En absolut cellreferens berättar för Excel att samma cell ska återanvändas vid beräkningen i varje cell där formeln används.
T ex när du vill räkna ut hur stor andel av invånarna som bor i Centrum använder sig Excel av cellerna B2 och B12 (=B2/B12). Du delar alltså antalet invånare i Centrum (40 469) med summan av antalet invånare i Malmö (278 958).


När du ska beräkna andelen i övriga stadsdelar vill du återanvända summan i cell B12 (summan av antalet invånare i Malmö). Detta gör du genom att använda dig av absoluta cellreferenser.

Du anger en absolut cellfrekvens genom att sätta ett dollartecken ($) framför och bakom bokstaven i den cellreferens som du vill ska vara absolut.
Exempel: =B2/$B$12


När du sedan kopierar denna formel till övriga celler kommer enbart värdet B2 förändras, medan B12 kommer att bevaras.
Exempel: Om du klistrar in formeln =B2/$B$12 i cell C3, kommer formeln att ändras till =B3/$B$12 (B2 ändras automatiskt till B3, men $B$12 bevaras).


 

onsdag 10 december 2014

Formatera numrering i fotnoten (infoga punkt och mellanslag) i LibreOffice Writer

När jag jobbar med fotnoter i LibreOffice Writer brukar formateringen på fotnoten inte se ut som jag vill. Ett problem är bland annat att numreringen - den inledande siffran och texten i fotnoten går ihop. Detta är något man ibland måste ändra själv.

Problem: Numreringen i  fotnoten sitter ihop med texten. Vi vill ha en punkt och ett mellanslag mellan siffran och texten. Undrar du hur man får till linjen mellan fotnoten och texten kan du läsa om det i guiden Infoga skiljelinje (linje) mellan fotnot och text i LibreOffice Writer.


För att automatiskt infoga en punkt och ett mellanrum mellan numreringen och texten i fotnoten i LibreOffice Writer måste du ändra följande.

1. Klicka på Verktyg -> Fot-/slutnoter...
Klicka på Verktyg -> Fot-/Slutnot... 
2. I fältet Efter skriver du in .  (alltså punkt och ett mellanslag)
Glöm inte att slå in ett mellanslag efter punkten. Annars flyter punkten och texten ihop. Det finns även andra parametrar du kan ändra här för att formatera hur fotnoterna ska se ut. Dubbelkolla gärna att fältet Numrering är inställt till 1, 2, 3, ... om du vill att fotnoten ska börja med siffror.

I fältet Efter skriver du in .  (alltså punkt och ett mellanslag)

3. Resultat
Din fotnot innehåller nu en punkt och ett mellanslag mellan numreringen och texten i fotnoten.






tisdag 9 december 2014

Infoga skiljelinje (linje) mellan fotnot och text i LibreOffice Writer



Sida utan skiljelinje mellan fotnot och text. Undrar du hur man lyckas infoga en punkt och ett mellanrum mellan numreringen i fotnoten och texten i fotnoten kan du läsa guiden Formatera numrering i fotnoten (infoga punkt och mellanslag) i LibreOffice Writer.
För att infoga en skiljelinje mellan fotnot och löptexten i LibreOffice Writer gör du följande:

1. Klicka på Format -> Sida...

Klicka Format -> Sida...
2. Välj Fotnot -> Ändra under Skiljelinje -> Längd 100% -> Klicka OK
Här finns flera parametrar att ändra på där du kan anpassa linjen. Den viktigaste parametern att förändra för att få fram en linje är parametern längd. Den är satt till 0%. Ändra till 100% och klicka på OK.

Ändra längd till 100% och klicka på OK.
3. Resultat
Du har nu en skiljelinje mellan fotnoten och texten.