Anslut med data med hjälp av Power BI- och OData-frågor

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Om du vill hämta data till Power BI rekommenderar vi att du använder OData-frågor (Open Data Protocol). OData är en ISO/IEC-godkänd OASIS-standard som definierar metodtips för att skapa och använda REST-API:er. Mer information finns i OData-dokumentationen.

Kom igång snabbt genom att läsa Översikt över exempelrapporter som använder OData-frågor. Information om andra metoder finns i Översikt över Power BI-integrering.

Power BI kan köra OData-frågor, som kan returnera en filtrerad eller aggregerad uppsättning data till Power BI. OData-frågor har två fördelar:

  • All filtrering görs på serversidan. Endast de data du behöver returneras, vilket leder till kortare uppdateringstider.
  • Du kan föraggregera data på serversidan. En OData-fråga kan utföra aggregeringar som sammanslagning av arbetsobjekt och genereringsfel. Aggregeringarna utförs på serversidan och endast aggregeringsvärdena returneras till Power BI. Med föraggregering kan du utföra aggregeringar över stora datauppsättningar utan att behöva hämta alla informationsdata till Power BI.

I den här artikeln kan du se hur du:

  • Skriva och testa OData-frågor.
  • Kör en OData-fråga från Power BI.

Förutsättningar

  • Om du vill visa analysdata och fråga tjänsten måste du vara medlem i ett projekt med grundläggande åtkomst eller större. Som standard beviljas alla projektmedlemmar behörighet att köra frågor mot Analytics och definiera analysvyer.
  • Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.

Använda Visual Studio Code för att skriva och testa OData-frågor

Det enklaste sättet att skriva och testa OData är att använda Visual Studio Code med OData-tillägget. Visual Studio Code är en kostnadsfri kodredigerare som är tillgänglig i Windows, Mac och Linux. OData-tillägget innehåller syntaxmarkering och andra funktioner som är användbara för att skriva och testa frågor.

Installera Visual Studio Code och OData-tillägget

  1. Installera Visual Studio Code.

  2. Öppna Visual Studio Code, välj Tillägg och sök sedan efter odata. I resultatlistan väljer du vscode-odata och installerar det sedan.

  3. Skapa och spara en OData-fil i Visual Studio Code, till exempel filename.odata. Ge det namnet vad du vill, men det måste ha ett .odata tillägg för att aktivera OData-tilläggsfunktionen.

Skriva OData-frågan

  1. Skriv OData-frågan. Exempelfrågor finns i Översikt över exempelrapporter som använder OData-frågor.

    Följande fråga returnerar de 10 främsta arbetsobjekten under en specifik områdessökväg.

  2. Ersätt {organization}, {project}och {area path} med dina värden.

    https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?
        $select=WorkItemId,Title,WorkItemType,State,CreatedDate
        &$filter=startswith(Area/AreaPath,'{area path}')
        &$orderby=CreatedDate desc
        &$top=10
    

    Om du vill fråga mellan projekt utelämnar /{project} du helt.

Mer information finns i Snabbreferens för OData-frågor.

När du har skrivit frågan i Visual Studio Code bör du se syntaxmarkering.

Skärmbild som visar Visual Studio Code OData-tillägget med syntaxmarkering.

Testa OData-frågan

  1. Om du vill testa OData-frågan placerar du markören var som helst i frågetexten och väljer Visa>kommandopalett.

  2. I sökrutan anger du odata för att ta upp alla OData-kommandon.

    Skärmbild som visar kommandopaletten för Visual Studio Code OData-tillägget.

  3. Välj OData: Öppna. Den här åtgärden kombinerar frågan med flera rader till en enrads-URL och öppnar den i standardwebbläsaren.

    • OData-frågeresultatuppsättningen är i JSON-format. Om du vill visa resultatet installerar du JSON Formatter-tillägget för webbläsaren. Det finns flera alternativ för både Chrome och Microsoft Edge.

      Skärmbild som visar JSON-utdata för Visual Studio Code OData-tillägget.

    • Om frågan har ett fel returnerar Analytics-tjänsten ett fel i JSON-format. Det här felet anger till exempel att frågan har valt ett fält som inte finns.

      Skärmbild som visar JSON-felet för Visual Studio Code OData-tillägget.

När du har kontrollerat att frågan fungerar korrekt kan du köra den från Power BI.

Kör OData-frågan från Power BI

Följ stegen i nästa avsnitt för att köra OData-frågan från Power BI.

Kombinera OData-frågan med flera rader till en enskild radfråga

Innan du använder frågan i Power BI måste du konvertera OData-frågan för flera rader till en enskild radfråga. Det enklaste sättet att göra det är att använda Visual Studio Code med OData-tillägget och använda kommandot OData: Combine .

Kommentar

I filen filename.odata kanske du först vill skapa en kopia av frågetexten med flera rutor och sedan köra OData: Kombinera på kopian. Gör det här steget först eftersom det inte finns något sätt att konvertera enradsfrågan tillbaka till en läsbar flerradsfråga.

  1. I Visual Studio Code placerar du frågan var som helst i frågetexten och väljer sedan Visa>kommandopalett. I sökrutan anger du odata. Välj sedan OData: Combine i resultatlistan.

    Frågan med flera rader konverteras till en enskild radfråga.

    Skärmbild som visar Visual Studio Code OData-tillägget kombinerat till en enradsfråga.

  2. Kopiera hela raden för användning i nästa avsnitt.

Kör frågan från Power BI

  1. Välj Hämta data-OData-feed>. Mer information finns i Skapa en Power BI-rapport med en OData-fråga.

    Skärmbild som visar power BI OData-feedkommandot.

  2. I fönstret OData-feed i rutan URL klistrar du in den OData-fråga som du kopierade i föregående avsnitt och väljer sedan OK.

    .

    Power BI visar en förhandsgranskningssida.

    Skärmbild som visar förhandsgranskningssidan för Power BI OData-feeden.

Ange frågealternativ

  1. Välj Redigera på förhandsgranskningssidan för att öppna Power Query-redigeraren.

    Skärmbild som visar Power Query-redigeraren öppen för Power BI OData-feeden.

  2. Välj Avancerad redigerare i menyfliksområdet.

    Skärmbild som visar Avancerad redigerare valts för Power BI OData-feeden.

  3. Rulla vågrätt för att visa parametern [Implementation="2.0"] i fönstret Fråga .

    Skärmbild som visar Power BI OData-feeden med Avancerad redigerare rullad till höger.

  4. Ersätt [Implementation="2.0"] med följande sträng:

    [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]

    Skärmbild som visar ersättningssträngen.

    Kommentar

    Utför följande åtgärder för att förhindra begränsningsfel:

    • Instruera Power BI att referera till OData v4.
    • Instruera Analytics-tjänsten att utelämna alla värden som är null, vilket förbättrar frågeprestandan. Power Query försöker lösa null-värden som fel genom att generera en annan fråga för varje null-värde som den stöter på. Den här åtgärden kan resultera i tusentals frågor, vilket snabbt överskrider ditt användningströskelvärde, utöver vilket ditt användarkonto begränsas.

    Följande åtgärd krävs för att Power BI ska kunna köra en OData-fråga mot Azure DevOps Analytics Service.

  5. Välj OK för att stänga Avancerad redigerare och återgå till Power BI-Power Query-redigeraren. Du kan använda Power Query-redigeraren för att utföra följande valfria åtgärder:

    • Byt namn på Query1 frågan som något mer specifikt.
    • Transformera kolumner till en viss typ. Power BI identifierar typen automatiskt, men du kanske vill konvertera kolumner till en viss datatyp.
    • Lägg till beräknade kolumner.
    • Ta bort kolumner.
    • Expandera kolumner till specifika fält.

Skapa en rapport med hjälp av data

Välj Stäng och använd för att spara inställningarna och hämta data till Power BI. När data har uppdaterats kan du skapa en rapport som vanligt i Power BI.

Skärmbild som visar knappen Stäng och Tillämpa i Power BI.