Power BI-koppling till SQL Server och Access

Din data ligger i en SQL Server-databas eller Access-fil. Power BI kan visualisera den. Men hur kopplar du dem på rätt sätt? Och vad är skillnaden mellan DirectQuery och Import? Den här guiden visar exakt hur.

På Excel Department har vi kopplat Power BI till över 100 databaser – från små Access-filer till företags-SQL Server med miljarder rader. Vi har gjort alla misstag så du slipper. Den här guiden ger dig metoderna som faktiskt fungerar.

Varför koppla Power BI till databas istället för Excel?

Innan vi dyker in tekniskt, låt oss prata om varför.

Excel-begränsningar: – Max cirka 1 miljon rader (långsam långt innan dess) – Manuell uppdatering eller komplex VBA – Risk att data blir föråldrad – Svårt att hantera många användare

Databas-fördelar: – Miljontals eller miljarder rader utan problem – Alltid aktuell data (Power BI läser direkt från källan) – Strukturerad och relationell data – En sanningskälla för hela organisationen

När du bör koppla till databas: – Data uppdateras kontinuerligt (försäljning, transaktioner, loggning) – Datamängden växer över Excels kapacitet – Flera system använder samma data – Du vill garantera data-konsistens

Om du har SQL-kopplad Excel idag är steget till Power BI litet men ger mycket mer kraft.

SQL Server: DirectQuery vs Import mode

Det här är den första stora beslutspunkten. Båda sätten fungerar, men de passar olika situationer.

Import mode (Rekommenderat för de flesta)

Hur det fungerar: Power BI läser data från SQL Server, komprimerar den, och lagrar lokalt i Power BI-modellen. När rapporten öppnas läser den från denna kopia, inte från SQL Server.

Fördelar: – Mycket snabbare rapporter (data är lokal) – Fungerar offline (data finns i filen) – Mindre belastning på SQL Server – Power BI:s komprimering minskar datastorlek (ofta 10x)

Nackdelar: – Data är inte realtid (uppdateras enligt schema) – Begränsning på datavolym (modellstorlek max 10 GB för Pro, 100+ GB för Premium) – Kräver uppdateringsschema

Passar för: – Datawarehouse eller rapporteringsdatabas – Data som uppdateras dagligen eller veckovis – Historisk analys – När snabb prestanda är kritiskt – De flesta business intelligence-scenarios

Exempel: En försäljningsdatabas med 5 miljoner rader, uppdateras varje natt kl 02:00. Power BI hämtar ny data då. Användare får blixtsnabba rapporter under dagen.

DirectQuery mode

Hur det fungerar: Power BI skickar SQL-frågor direkt till SQL Server varje gång du interagerar med rapporten. Ingen data lagras lokalt.

Fördelar: – Absolut realtidsdata (alltid aktuellt) – Ingen datastorlek-begränsning – Säkerhet hanteras av SQL Server

Nackdelar: – Långsammare rapporter (varje klick = SQL-fråga) – Kräver konstant uppkoppling till SQL Server – Högre belastning på databasen – Begränsade DAX-funktioner (vissa mått fungerar inte)

Passar för: – Realtidsdata där varje minut räknas (kassor, trading, IoT) – Extremt stora dataset (100+ GB) – Strikt datasäkerhet (data får inte lämna server) – Operational reporting

Exempel: En logistikdashboard som visar aktuella lagernivåer. Varje gång någon plockar en produkt uppdateras databasen och Power BI visar nya siffran inom sekunder.

Hybrid: Composite models

Sedan 2019 kan du kombinera båda. Vissa tabeller Import, andra DirectQuery.

Typiskt användningsområde: – Stora transaktionsdata i DirectQuery (realtid) – Mindre master data (produkter, kunder) i Import (prestanda)

Komplicerat men kraftfullt. Rekommenderar konsulthjälp för detta.

Vår rekommendation

Starta med Import mode i 95 % av fall.

DirectQuery är för specialfall. De flesta företag behöver inte realtidsdata – daglig uppdatering räcker. Import ger bättre prestanda och är enklare att hantera.

Byt till DirectQuery endast om: 1. Du verkligen behöver realtidsdata (bevisa det) 2. Din data är >50 GB och växer snabbt 3. Datasäkerheten kräver att data inte kopieras

Steg-för-steg: Anslut till SQL Server

Nu blir det praktiskt. Så här gör du:

Steg 1: Förbered SQL Server

Du behöver: – Servernamn (exempel: sqlserver.dinserver.se) – Databasnamn – Inloggningsuppgifter (Windows Authentication eller SQL Server Authentication) – Nätverksåtkomst till servern

Testa åtkomst först: Öppna SQL Server Management Studio (SSMS) och anslut med samma uppgifter. Om det inte fungerar där fungerar det inte i Power BI heller.

Brandväggsregler: Om SQL Server är on-premises bakom företagsbrandvägg behöver du öppna port 1433 (standard SQL Server-port).

För Azure SQL: Lägg till din IP-adress i Azure Portal under Firewall settings.

Steg 2: Anslut från Power BI Desktop

Öppna Power BI Desktop.

Home → Get Data → SQL Server

Fyll i:Server: sqlserver.dinserver.se eller dinserver.database.windows.net (Azure) – Database: Namnet på databasen – Data Connectivity mode: Import (rekommenderat)

Advanced options (valfritt):SQL statement: Om du vill skriva egen SQL-fråga – Command timeout: Öka om stora frågor tar lång tid

Klicka OK.

Steg 3: Autentisering

Välj autentiseringsmetod:

Windows Authentication: Använder dina Windows-inloggningsuppgifter. Fungerar för on-premises SQL Server om du är inloggad på företagsnätverket.

Database: SQL Server-användarnamn och lösenord. Standard för Azure SQL.

Microsoft Account: För Azure SQL kan du använda ditt Microsoft 365-konto.

Klicka Connect.

Steg 4: Välj tabeller

Navigator-fönstret visar alla tabeller och vyer i databasen.

Tips: – Välj bara tabeller du behöver (inte hela databasen) – Kolla på datastorleken (visas i Navigator) – Föredra vyer framför baseringar om IT skapat dem åt dig

Markera tabeller → klicka Transform Data (inte Load direkt).

Steg 5: Transformera i Power Query

Nu ser du dina tabeller i Power Query Editor.

Vanliga transformationer:Ta bort kolumner du inte behöver (minskar datastorlek) – Filtrera rader (till exempel bara senaste 2 åren) – Ändra datatyper om Power BI gissat fel – Merge queries för att skapa relationer

Viktigt: All filtrering i Power Query minskar datamängd = snabbare rapporter.

Klicka Close & Apply när klar.

Steg 6: Sätt upp automatisk uppdatering (efter publicering)

Publicera rapporten till Power BI Service.

Gå till dataset-inställningar: – Scheduled refresh: Välj frekvens och tid – Gateway: Om SQL Server är on-premises (se nedan) – Credentials: Ange databasuppgifter

Obs: För on-premises SQL Server krävs en Power BI Gateway. Mer om det nedan.

Anslut till Microsoft Access

Access-databaser är vanliga i svenska småföretag. Power BI kan ansluta till dem, men med begränsningar.

Steg 1: Anslut till Access-fil

Home → Get Data → Access Database

Bläddra till din .accdb eller .mdb-fil → Open.

Navigator visar tabeller och queries (sparade frågor i Access).

Välj vad du behöver → Transform Data.

Steg 2: Transformera data

Access-databaser är ofta mindre strukturerade än SQL Server. Vanliga problem:

Problem 1: Blankrader och rubriker Access-tabeller kan ha extra rader med formatering. Ta bort dem i Power Query.

Problem 2: Felaktiga datatyper Access Text-kolumner med nummer i blandas. Fixa i Power Query.

Problem 3: Relationer Access-relationer överförs inte automatiskt. Du måste skapa dem manuellt i Power BI Model-vy.

Begränsningar med Access

Ingen automatisk uppdatering i molnet: Access-filer kan inte uppdateras automatiskt från Power BI Service (molnet).

Lösningar: 1. Manuellt: Publicera om från Power BI Desktop när Access uppdaterats 2. Gateway: Installera Power BI Gateway på en dator som har tillgång till Access-filen 3. Migrera: Flytta data till SQL Server eller SharePoint (rekommenderat långsiktigt)

Vår rekommendation: Om du använder Access aktivt, överväg att migrera till SQL Server. Vi hjälper företag med detta regelbundet.

Tillfällig användning: För mindre dataset (<50 000 rader) som inte uppdateras ofta fungerar Access bra med manuell publicering.

Power BI Gateway: Bryggan till on-premises

Om din SQL Server eller Access-databas finns on-premises (i ert företagsnätverk, inte i molnet) behöver du en Power BI Gateway.

Vad är en gateway?

En gateway är ett program som installeras på en dator i ert nätverk. Den fungerar som brygga mellan Power BI Service (molnet) och er lokala databas.

Flödet: 1. Power BI Service ber om data 2. Förfrågan går till Gateway 3. Gateway hämtar data från lokal databas 4. Gateway skickar data till Power BI Service 5. Rapporten uppdateras

Två typer av gateways

On-premises data gateway (Standard mode): – För hela organisationen – Kräver installation av IT-avdelning – Kan användas av alla rapportutvecklare – Stödjer flera datakällor samtidigt

On-premises data gateway (Personal mode): – För en enskild användare – Enklare installation – Fungerar bara för den användarens rapporter

Rekommendation: Standard mode för företagsanvändning.

Installera gateway (förenklad)

Steg 1: Ladda ner från Microsoft (gratis)

Steg 2: Installera på en Windows-server eller dedikerad dator som: – Alltid är påslagen – Har tillgång till databasen – Har stabil internetuppkoppling

Steg 3: Logga in med Power BI-konto

Steg 4: Registrera gateway i Power BI Service

Steg 5: Konfigurera datakällor (servernamn, autentisering)

IT-arbete: 1-2 timmar första gången. Därefter automatiskt.

Prestanda: Best practices

Dålig databasprestanda förstör användarupplevelsen. Här är vad vi lärt oss:

1. Filtrera tidigt och hårt

Dåligt: Importera 10 års data när du bara analyserar senaste året.

Bra: Filtrera i Power Query: WHERE Datum >= DATEADD(year, -1, GETDATE())

Resultat: 90 % mindre data = 10x snabbare rapporter.

2. Använd vyer för komplexa frågor

Dåligt: Skriva komplex SQL i Power BI med många JOIN och subqueries.

Bra: Be din DBA skapa en vy på SQL Server. Power BI ansluter till vyn.

Fördel: SQL Server optimerar frågan. Lättare att underhålla.

3. Partionera stora tabeller

För dataset >5 miljoner rader, använd Incremental Refresh i Power BI.

Istället för att uppdatera hela tabellen varje gång uppdateras bara nya/ändrade rader.

Resultat: Uppdatering från 2 timmar till 10 minuter.

4. Indexera rätt kolumner

På SQL Server-sidan: se till att kolumner du filtrerar på (Datum, KundID, etc.) har index.

Test: Om en SQL-fråga tar >5 sekunder i SSMS kommer Power BI vara långsamt.

Kontakta din DBA för att lägga till index.

5. Undvik SELECT *

Dåligt: SELECT * FROM Försäljning

Bra: SELECT OrderID, Datum, KundID, Belopp FROM Försäljning

Hämta bara kolumner du faktiskt använder.

Säkerhet och Row-Level Security (RLS)

När många användare delar rapporter måste du kontrollera vem som ser vad.

Scenario: Säljdashboard

Krav: – Säljchefen ser hela landet – Regionchefen ser sin region – Säljaren ser bara sina egna kunder

Lösning 1: Säkerhet i SQL Server

Skapa SQL Server-vyer med WHERE-klausuler baserat på användare:

CREATE VIEW SäljareVy AS
SELECT * FROM Försäljning
WHERE Säljare = USER_NAME()

Power BI ansluter till vyn. SQL Server hanterar säkerheten.

Fördel: Centraliserad säkerhet. Nackdel: Kräver separata vyer för olika roller.

Lösning 2: Row-Level Security i Power BI

Definiera roller i Power BI Desktop:

Rolle: Säljare DAX-filter: [Säljare] = USERNAME()

Rolle: Regionchef DAX-filter: [Region] = LOOKUPVALUE(Användare[Region], Användare[Email], USERNAME())

Efter publicering tilldelas användare roller i Power BI Service.

Fördel: Flexibelt, kontrolleras i Power BI. Nackdel: RLS-regler kan bli komplexa.

Vår rekommendation: SQL Server-säkerhet för enkla scenarios. RLS för komplexa eller dynamiska behörigheter.

Vanliga problem och lösningar

Problem: “Couldn’t connect to SQL Server”

Orsaker: – Fel servernamn (testa i SSMS först) – Brandvägg blockerar port 1433 – SQL Server accepterar inte remote connections

Lösning: – Verifiera servernamn och port – Kontrollera brandväggsregler – På SQL Server: Aktivera TCP/IP i SQL Server Configuration Manager

Problem: “Data source too large”

Orsak: Import-modellen överstiger 10 GB (Power BI Pro-gräns).

Lösningar: 1. Filtrera mer data i Power Query 2. Ta bort onödiga kolumner 3. Använd aggregeringar (summera på SQL Server-sidan) 4. Uppgradera till Power BI Premium (100 GB+ limit) 5. Byt till DirectQuery

Problem: “Gateway is offline”

Orsak: Gateway-datorn är avstängd eller har tappat uppkopplingen.

Lösning: – Kontrollera att gateway-datorn är påslagen – Testa internetuppkoppling – Starta om gateway-tjänsten – Uppdatera gateway till senaste version

Problem: “Refresh failed”

Orsaker: – Autentisering fel (lösenord ändrat) – SQL Server tillfälligt otillgänglig – Timeout (frågan tar för lång tid)

Lösning: – Uppdatera credentials i dataset-inställningar – Öka timeout i gateway-inställningar – Optimera SQL-frågor för snabbare körning

Nästa steg

Du har nu grunden för att ansluta Power BI till SQL Server och Access. Här är din checklista:

För SQL Server: – [ ] Verifiera åtkomst med SSMS – [ ] Besluta Import vs DirectQuery (Import för de flesta) – [ ] Anslut från Power BI Desktop – [ ] Filtrera data i Power Query – [ ] Publicera och sätt upp scheduled refresh – [ ] Installera Gateway om on-premises

För Access: – [ ] Anslut till Access-fil – [ ] Rensa data i Power Query – [ ] Bygg rapport – [ ] Överväg migration till SQL Server för långsiktig lösning

Optimering: – [ ] Filtrera data tidigt (Power Query) – [ ] Ta bort onödiga kolumner – [ ] Använd SQL Server-vyer för komplexa frågor – [ ] Testa prestanda och justera – [ ] Implementera säkerhet (RLS eller SQL Server)

Behöver du hjälp?

Databasintegrationer kan bli komplexa. På Excel Department har vi gjort detta hundratals gånger.

Vi kan hjälpa med: – Utvärdera Import vs DirectQuery för era behov – Sätta upp Power BI Gateway – Optimera SQL-frågor för prestanda – Implementera Row-Level Security – Migrera från Access till SQL Server – Felsöka anslutningsproblem

Kontakta oss för gratis konsultation (30 min).

Läs mer:Power BI för företag: Komplett guideSQL-kopplad ExcelAccess-konsult


Kontakta Excel Department:Telefon: 010-264 20 20E-post: info@exceldepartment.seAdress: Slottsbacken 8, 111 30 Stockholm