Hämta data från relationsdatakällor

Slutförd

Om din organisation använder en relationsdatabas för försäljning kan du använda Power BI Desktop för att ansluta direkt till databasen i stället för att använda exporterade flata filer.

Genom att ansluta Power BI till databasen kan du övervaka hur det går för ditt företag och identifiera trender, så att du kan prognostisera försäljningssiffror, planera budgetar och ange resultatindikatorer och mål.   Det går att ansluta Power BI Desktop till många relationsdatabaser som antingen finns i molnet eller lokalt.

Scenario

Säljteamet på Tailwind Traders har begärt att du ansluter till organisationens lokala SQL Server databas och hämtar försäljningsdata till Power BI Desktop så att du kan skapa försäljningsrapporter.

Skärmbild av dataflödet från SQL-databasen till Power BI.

Anslut till data i en relationsdatabas

Du kan använda funktionen Hämta data i Power BI Desktop och välja tillämpligt alternativ för relationsdatabasen. I det här exemplet väljer du alternativet SQL Server, som du ser i följande skärmbild.

Tips

Bredvid knappen Hämta data finns alternativ för snabb åtkomst till datakällor, till exempel SQL Server.

Skärmbild av menyn Hämta data expanderad för att visa SQL Server.

Nästa steg är att ange servernamnet där databasen finns och ett databasnamn i fönstret SQL Server-databas.  De två alternativen i dataanslutningsläget är: Importera (valt som standard, rekommenderas) och DirectQuery. För det mesta väljer du Importera. Andra avancerade alternativ är också tillgängliga i SQL Server databasfönstret, men du kan ignorera dem för tillfället.

Skärmbild av SQL Server databasinformation.

När du har lagt till server- och databasnamnen uppmanas du att logga in med ett användarnamn och lösenord. Du har tre inloggningsalternativ:

  • Windows – Använd ditt Windows-konto (Azure Active Directory-autentiseringsuppgifter).

  • Databas – Använd dina autentiseringsuppgifter för databasen.   SQL Server har till exempel ett eget inloggnings- och autentiseringsschema som ibland används.   Om databasadministratören har gett dig en unik inloggning till databasen kan du behöva ange den inloggningsinformationen på fliken Databas.

  • Microsoft-konto – Använd dina autentiseringsuppgifter för Microsoft-kontot.  Det här alternativet används ofta för Azure-tjänster.

Välj ett inloggningsalternativ, ange ditt användarnamn och lösenord och välj sedan Anslut.

Skärmbild av information om databasauktorisering.

Välj data som ska importeras

När databasen har anslutits till Power BI Desktop visar fönstret Navigatör de data som är tillgängliga i datakällan (SQL-databasen i det här exemplet). Du kan välja en tabell eller entitet för att förhandsgranska dess innehåll och säkerställa att rätt data läses in i Power BI-modellen.

Markera kryssrutan eller kryssrutorna för de tabeller som du vill ta med i Power BI Desktop och välj sedan alternativet Läs in eller Transformera data.

  • Läs in – Läs in dina data automatiskt till en Power BI-modell i dess aktuella tillstånd.

  • Transformera data – Öppna dina data i Microsoft Power Query, där du kan utföra åtgärder som att ta bort onödiga rader eller kolumner, gruppera data, ta bort fel och många andra datakvalitetsuppgifter.

    Skärmbild av fönstret Navigatör med tillgängliga tabeller.

Importera data genom att skriva en SQL-fråga

Ett annat sätt för att importera data är att skriva en SQL-fråga där du endast anger de tabeller och kolumner som du behöver.

Skriv SQL-frågan genom att gå till SQL Server databasfönstret, ange server- och databasnamnen och välj sedan pilen bredvid Avancerade alternativ för att expandera det här avsnittet och visa dina alternativ. Skriv frågeuttryck i rutan SQL-instruktion och välj sedan OK. I det här exemplet använder du select SQL-instruktionen för att läsa in kolumnerna ID, NAME och SALESAMOUNT från tabellen SALES.

Skärmbild av dialogrutan SQL Server databas med en SQL-fråga.

Ändra datakällinställningar

När du har skapat en anslutning till datakällan och läst in data i Power BI Desktop kan du när som helst gå tillbaka och ändra dina anslutningsinställningar.  Den här åtgärden krävs ofta på grund av en säkerhetsprincip i organisationen, till exempel när lösenordet måste uppdateras var 90:e dag.  Du kan ändra datakällan, redigera behörigheter eller rensa behörigheter.

På fliken Start väljer du Transformera data och väljer sedan alternativet Inställningar för datakälla .

Skärmbild av menyn Transformera data expanderad med Inställningar för datakälla markerade.

Välj datakällan som du vill uppdatera i listan med datakällor som visas.  Sedan kan du högerklicka på datakällan för att visa tillgängliga uppdateringsalternativ, eller använda knapparna för uppdatering av alternativ längst ned till vänster i fönstret.  Välj det uppdateringsalternativ som du behöver, ändra inställningarna efter behov och tillämpa sedan ändringarna.

Skärmbild av alternativen för inställningar för datakälla.

Du kan även ändra inställningarna för datakällan i Power Query. Välj tabellen och välj sedan alternativet Inställningar för datakälla i menyfliksområdet Start . Du kan också gå till panelen Frågeinställningar till höger på skärmen och välja inställningsikonen bredvid Källa (eller dubbel välj källa). I fönstret som visas uppdaterar du server- och databasinformationen och väljer sedan OK.

Skärmbild av knappen Inställningar för datakälla.

När du har gjort ändringarna väljer du Stäng och Tillämpa för att tillämpa ändringarna på inställningarna för datakällan.

Skriv en SQL-instruktion

Som tidigare nämnts kan du importera data till din Power BI-modell med en SQL-fråga.  SQL står för Structured Query Language och är ett standardiserat programmeringsspråk som används för att hantera relationsdatabaser och utföra olika datahanteringsåtgärder.

Tänk dig ett scenario där databasen har en stor tabell som består av försäljningsdata för flera år. Försäljningsdata från 2009 är inte relevanta för den rapport som du skapar. I den här situationen är SQL fördelaktigt eftersom du bara kan läsa in den nödvändiga datauppsättningen genom att ange exakta kolumner och rader i SQL-instruktionen och sedan importera dem till din semantiska modell.  Du kan även koppla samman olika tabeller, köra specifika beräkningar, skapa logiska instruktioner och filtrera data i din SQL-fråga.

I följande exempel visas en enkel fråga där ID, NAME och SALESAMOUNT väljs från tabellen SALES.

SQL-frågan börjar med en Select-instruktion som gör att du kan välja de specifika fält som du vill hämta från databasen.  I det här exemplet vill du läsa in kolumnerna ID, NAME och SALESAMOUNT.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

FROM anger namnet på tabellen som du vill hämta data från. I det här fallet är det tabellen SALES. I följande exempel visas den fullständiga SQL-frågan:

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

När du använder en SQL-fråga för att importera data kan du försöka undvika att använda jokertecknet (*) i frågan. Om du använder jokertecknet (*) i SELECT-instruktionen importerar du alla kolumner som du inte behöver från den angivna tabellen.

I följande exempel visas frågan med jokertecknet.

SELECT *
FROM
SALES

Jokertecknet (*) importerar alla kolumner i tabellen Försäljning . Den här metoden rekommenderas inte eftersom den leder till redundanta data i din semantikmodell, vilket orsakar prestandaproblem och kräver extra steg för att normalisera dina data för rapportering.

Alla frågor bör också ha en WHERE-sats. Den här satsen filtrerar raderna så att endast filtrerade poster som du vill använda väljs. Om du i det här exemplet vill hämta senaste försäljningsdata efter den 1 januari 2020 lägger du till en WHERE-sats . Den vidareutvecklade frågan skulle se ut som i följande exempel.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

Det är bästa praxis att undvika att göra detta direkt i Power BI. I stället kan du överväga att skriva en fråga som denna i en vy. En vy är ett objekt i en relationsdatabas som påminner om en tabell. Vyer har rader och kolumner och kan innehålla nästan alla operatörer i SQL-språket. Om en vy används i Power BI så kommer den att ingå i frågedelegering, som är en funktion i Power Query, när den hämtar data. Frågedelegering förklaras senare, men i korthet optimerar Power Query datahämtningen beroende på hur data används senare.