Verbinding maken met gegevens met behulp van Power BI- en OData-query's

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

In dit artikel wordt beschreven hoe u een OData-query schrijft op basis van Azure DevOps Analytics, deze test in Visual Studio Code en uitvoert vanaf Power BI. OData-query's bieden twee voordelen ten opzichte van andere verbindingsmethoden:

  • Filteren aan de serverzijde : alleen de gegevens die u nodig hebt, worden geretourneerd, wat leidt tot kortere vernieuwingstijden.
  • Aggregatie aan de serverzijde — Rollups, foutpercentages en andere berekeningen worden uitgevoerd op de server, zodat alleen geaggregeerde waarden naar Power BI worden uitgevoerd. Met deze methode kunt u grote gegevenssets samenvatten zonder alle detailrijen op te halen.

OData (Open Data Protocol) is een ISO/IEC-goedgekeurde REST API-standaard die wordt onderhouden door OASIS. Zie de OData-documentatie voor meer informatie.

Zie Overzicht van voorbeeldrapporten met behulp van OData-query's om snel aan de slag te gaan met kant-en-klare query's. Zie About Power BI integration voor meer informatie over andere verbindingsmethoden.

Aanbeveling

U kunt AI gebruiken om u te helpen met deze taak verderop in dit artikel, of zie AI-assistentie inschakelen met Azure DevOps MCP Server om aan de slag te gaan.

Vereisten

Categorie Vereisten
Toegangsniveaus - Projectlid.
- Ten minste Basis toegang.
Toestemmingen Projectleden zijn standaard gemachtigd om query's uit te voeren op Analytics en weergaven te maken. Zie Machtigingen en vereisten voor toegang tot Analyse voor meer informatie over andere vereisten met betrekking tot het inschakelen van services en functies en algemene activiteiten voor het bijhouden van gegevens.

Gebruik Visual Studio Code om OData-query's te schrijven en te testen

Gebruik Visual Studio Code met de OData-extensie om OData-query's te schrijven, te controleren en uit te voeren voordat u ze in Power BI brengt.

Visual Studio Code en de OData-extensie installeren

  1. Installeer Visual Studio Code.

  2. Selecteer in Visual Studio Code Extensions (Ctrl+Shift+X), zoek naar odata en installeer de extensie vscode-odata.

  3. Maak een bestand met de extensie .odata (bijvoorbeeld query's.odata). De extensie activeert syntaxismarkering en OData-opdrachten alleen voor bestanden met deze extensie.

De OData-query schrijven

De volgende query retourneert de tien belangrijkste werkitems onder een specifiek gebiedspad. Vervang {organization}, {project} en {area path} door uw waarden.

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

Als u query's wilt uitvoeren op projecten, laat /{project} volledig weg. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's en voorbeeldrapporten en snelzoekindex voor meer voorbeeldquery's.

Nadat u de query hebt ingevoerd, bevestigt syntaxismarkering dat de OData-extensie actief is.

Screenshot met een OData-bestand in Visual Studio Code. Elk type code-element heeft een eigen color.

De OData-query testen

  1. Plaats de cursor ergens in de querytekst en selecteer vervolgensOpdrachtpalet> (Ctrl+Shift+P).

  2. Typ odata en selecteer OData: Openen. De extensie combineert de query met meerdere regels in één URL en opent de resultaten in uw standaardbrowser.

    Schermopname met het opdrachtenpalet voor de Visual Studio Code OData-extensie.

  3. Bekijk de resultaten.

    • Geslaagd : de resultaten worden weergegeven als JSON. Installeer een JSON-indelingsextensie voor Chrome of Microsoft Edge om de uitvoer leesbaar te maken.

      Schermopname van een browser met de JSON-uitvoer van de OData-query die wordt weergegeven in een leesbare indeling.

    • Fout : Analytics retourneert een foutbericht in JSON. De volgende fout geeft bijvoorbeeld aan dat de query verwijst naar een veld dat niet bestaat.

      Schermopname van een browser met JSON-uitvoer in een leesbare indeling. Een bericht in de uitvoer geeft een fout in een OData-query aan.

Nadat de query de verwachte resultaten heeft geretourneerd, kunt u deze uitvoeren vanuit Power BI.

De OData-query uitvoeren vanuit Power BI

De query met meerdere regels combineren tot één regel

Power BI vereist een URL met één regel. Gebruik de OData-extensie om uw query met meerdere regels te converteren.

  1. Maak eerst een kopie van uw .odata-bestand . De combinatiebewerking kan niet ongedaan worden gemaakt.

  2. Open de kopie in Visual Studio Code, plaats de cursor in de querytekst en selecteer View>Command Palette>OData: Combine.

    Schermopname van een OData-bestand in Visual Studio Code. Het bestand bevat een query met meerdere regels, gevolgd door de versie met één regel van de query.

  3. Kopieer de query met één regel voor de volgende stap.

Verbinding maken met de OData-feed

  1. Selecteer in Power BI Desktop Gegevens ophalen>OData-feed.

    Schermopname van Power BI met Gegevens ophalen en OData-feed gemarkeerd.

  2. Plak de query met één regel in het URL-vak en selecteer OK.

    Schermopname van het dialoogvenster OData-feed. Het URL-vak bevat de OData-query met één regel.

    Power BI geeft een voorbeeld van gegevens weer.

    Schermopname van een voorbeeldpagina in Power BI met knoppen voor het laden en transformeren van gegevens. Een tabel bevat informatie over verschillende werkitems.

Queryopties configureren om begrenzing te voorkomen

Standaard genereert Power Query een afzonderlijke aanvraag voor elke null-waarde die deze tegenkomt. Dit gedrag kan leiden tot duizenden aanvragen en resulteren in vertraging bij uw account. Met de volgende stappen voegt u parameters toe waarmee dit gedrag wordt voorkomen.

  1. Selecteer op de voorbeeldpagina Transform Data om Power Query Editor te openen.

    Scherm van Power Query Editor. Een tabel bevat OData-feedgegevens voor verschillende werkitems.

  2. Selecteer Advanced Editor op het lint.

    Schermopname van het Power BI-lint. Geavanceerde Editor is gemarkeerd.

  3. Schuif naar het einde van de query en zoek [Implementation="2.0"].

    Schermopname van het venster Advanced Editor. Het einde van de query is zichtbaar en de implementatieparameter is gemarkeerd.

  4. Vervang deze door:

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

    Schermopname van het venster Advanced Editor. Het einde van de query is zichtbaar. Deze bevat de vervangende tekenreeks en is gemarkeerd.

    Deze parameters doen twee dingen:

    • ODataVersion = 4 — vertelt Power BI om OData v4 te gebruiken.
    • OmitValues = ODataOmitValues.Nulls — Instrueert Analytics om null-waarden over te slaan, waardoor Power Query geen extra aanvragen genereert die tot limitering leiden.
  5. Kies Gereed. Voordat u Power Query Editor sluit, kunt u het volgende doen:

    • Wijzig de naam Query1 in iets beschrijvends.
    • Kolomgegevenstypen wijzigen.
    • Berekende kolommen toevoegen of overbodige kolommen verwijderen.
    • Geneste kolommen uitvouwen in afzonderlijke velden.

Het rapport maken

Selecteer Sluiten & Toepassen om de gegevens in Power BI te laden. U kunt nu visuals bouwen, filters toevoegen en uw rapport ontwerpen.

Schermopname van het Power BI-lint. De Sluiten & Toepassen-knop is gemarkeerd.

Zie Maak een Power BI-rapport met een OData-query voor een stapsgewijs voorbeeld.

AI gebruiken om OData-query's te schrijven voor Power BI

Als u de Azure DevOps MCP Server configureert, kunt u AI-assistenten gebruiken om OData-query's voor Power BI te schrijven, testen en problemen op te lossen.

Voorbeelden van aanwijzingen

Opdracht Voorbeeldprompt
Een bugtrendquery maken Write an OData query for Power BI that shows a daily bug count trend grouped by state for <Contoso> project
Filteren op gebiedspad Create an OData query that trends work items under the "WebApp" area path in <Contoso> project for use in Power BI
Aggregatie aan serverzijde toevoegen Create an OData query that counts work items by state and work item type using $apply in <Contoso> project
Filteren op datumbereik Write an OData query that returns work items created in the last 14 days in <Contoso> project
Snelheid van sprint bijhouden Write an OData query that shows completed story points per sprint for the last 6 iterations in <Contoso> project
Teamdoorvoer vergelijken Create an OData query that counts completed work items per week grouped by team for <Contoso> project
Cyclustijddistributie weergeven Write an OData query for Power BI that returns cycle time in days for closed user stories grouped by area path in <Contoso> project
Indeling voor Power BI Convert this multiline OData query into the Power BI Advanced Editor M-query format with ODataOmitValues.Nulls
Problemen met verversingsfouten oplossen My Power BI OData query is timing out — help me add server-side aggregation to reduce the data returned from <Contoso> project