Selvstudium: Integrer sideinddelte Power BI-rapporter i et program til dine kunderTutorial: Embed Power BI paginated reports into an application for your customers

Med Power BI Embedded i Azure eller Power BI-integration i Office kan du integrere sideinddelte rapporter i et program ved hjælp af "appen ejer dataene".With Power BI Embedded in Azure or Power BI embedding in Office, you can embed paginated reports into an application using app owns data. App owns data handler om at have et program, der bruger Power BI som sin integrerede analyseplatform.App owns data is about having an application that uses Power BI as its embedded analytics platform. Som ISV eller udvikler kan du oprette Power BI-indhold, der viser sideinddelte rapporter i et program, som er fuldt integreret og interaktivt, uden at brugerne skal have en Power BI-licens.As an ISV or a developer, you can create Power BI content that displays paginated reports in an application that is fully integrated and interactive, without requiring users to have a Power BI license. I dette selvstudium kan du se, hvordan du integrerer en sideinddelt rapport i et program ved hjælp af Power BI .NET SDK med Power BI JavaScript-API'en.This tutorial demonstrates how to integrate a paginated report into an application using the Power BI .NET SDK with the Power BI JavaScript API.

Integrer Power BI-rapport

I dette selvstudium lærer du, hvordan du kan:In this tutorial, you learn how to:

  • Registrere en app i Azure.Register an application in Azure.
  • Integrer en sideinddelt Power BI-rapport i et program.Embed a Power BI paginated report into an application.

ForudsætningerPrerequisites

Du skal have følgende for at komme i gang:To get started, you're required to have:

Hvis du ikke har et Azure-abonnement, skal du oprette en gratis konto, før du begynder.If you don't have an Azure subscription, create a free account before you begin.

Vigtigt

Konfigurer dit Power BI-miljøSet up your Power BI environment

Hvis du integrerer en sideinddelt rapport, skal du tildele et arbejdsområde til en kapacitet og uploade rapporten til arbejdsområdet.Embedding a paginated report requires assigning a workspace to a capacity, and uploading the report to the workspace.

Opret et apparbejdsområdeCreate an app workspace

Men hvis du bruger en tjenesteprincipal til at logge på dit program, skal du bruge de nye arbejdsområder.As you're using a service principal to sign into your application, you're required to use the new workspaces. Som tjenesteprincipal skal du også være administrator for eller medlem af de apparbejdsområder, der er knyttet til dit program.As a service principal, you must also be an admin or member of the app workspaces involved with your application.

Opret kapacitetCreate a capacity

Før du importerer eller uploader en sideinddelt rapport, der skal integreres, skal det arbejdsområde, der indeholder rapporten, være tildelt til mindst en kapacitet på A4 eller P1.Before you import or upload a paginated report to embed, the workspace containing the report must be assigned to at least an A4 or P1 capacity. Du kan vælge mellem to kapacitetstyper:There are two types of capacity you can choose from:

  • Power BI Premium – når du integrerer en sideinddelt rapport, kræves der en P-SKU-kapacitet.Power BI Premium - For embedding a paginated report, a P SKU capacity is required. Når du integrerer Power BI-indhold, kaldes denne løsning for Power BI integration.When embedding Power BI content, this solution is referred to as Power BI embedding. Du kan finde flere oplysninger om dette abonnement under Hvad er Power BI Premium?For more information regarding this subscription, see What is Power BI Premium?
  • Azure Power BI Embedded – Du kan købe en kapacitet på Microsoft Azure-portalen.Azure Power BI Embedded - You can purchase a capacity from the Microsoft Azure portal. Dette abonnement bruger A-SKU'erne.This subscription uses the A SKUs. Hvis du vil integrere sideinddelte rapporter, skal du mindst have et A4-abonnement.For embedding paginated reports you need at least an A4 subscription. Du kan finde flere oplysninger om, hvordan du opretter en kapacitet til Power BI Embedded, under Opret kapacitet til Power BI Embedded på Azure-portalen.For details on how to create a Power BI Embedded capacity, see Create Power BI Embedded capacity in the Azure portal.

I nedenstående tabel beskrives ressourcerne og grænserne for de enkelte SKU'er.The table below describes the resources and limits of each SKU. Hvis du vil finde ud af, hvilken kapacitet der passer bedst til dine behov, skal du se tabellen Hvilken SKU skal jeg købe til mit scenarie?To determine which capacity best fits your needs, see the which SKU should I purchase for my scenario table.

KapacitetsnoderCapacity Nodes V-kerner i altTotal v-cores Backend-v-kernerBackend v-cores RAM (GB)RAM (GB) Frontend-v-kernerFrontend v-cores
P1/A4P1/A4 88 44 2525 44
P2/A5P2/A5 1616 88 5050 88
P3/A6P3/A6 3232 1616 100100 1616

Tildel et apparbejdsområde til en kapacitetAssign an app workspace to a capacity

Når du har oprettet en kapacitet, kan du tildele dit apparbejdsområde til kapaciteten.Once you create a capacity, you can assign your app workspace to that capacity.

Hvis du vil tildele en kapacitet til et arbejdsområde ved hjælp af en tjenesteprincipal, skal du bruge REST API'en til Power BI.To assign a capacity to a workspace using service principal, use the Power BI REST API. Når du bruger REST API'er til Power BI, skal du sørge for at bruge objekt-id'et for tjenesteprincipalen.When you are using the Power BI REST APIs, make sure to use the service principal object ID.

Opret og upload dine sideinddelte rapporterCreate and upload your paginated reports

Du kan oprette din sideinddelte rapport ved hjælp af Power BI Report Builderog derefter uploade rapporten til tjenesten.You can create your paginated report using Power BI Report Builder, and then upload the report to the service.

Du kan importere sideinddelte rapporter i de nye arbejdsområder ved hjælp af REST API'erne til Power BI.You can import paginated reports into the new workspaces using the Power BI REST APIs.

Integrer indhold ved hjælp af eksempelprogrammetEmbed content using the sample application

Dette eksempel er med vilje enkelt, da det kun skal bruges til demonstrationen.This sample is deliberately kept simple for demonstration purposes. Det er op til dig eller dine udviklere at beskytte programhemmeligheden.It's up to you or your developers to protect the application secret.

Følg nedenstående trin for at begynde at integrere indhold ved hjælp af eksempelprogrammet.Follow the steps below to start embedding your content using the sample application.

  1. Download Visual Studio (version 2013 eller nyere).Download Visual Studio (version 2013 or later). Sørg for at downloade den nyeste NuGet-pakke.Make sure to download the latest NuGet package.

  2. Download eksemplet, hvor appen ejer data, fra GitHub for at komme i gang.Download the App Owns Data sample from GitHub to get started.

    Appen ejer data-programeksempel

  3. Åbn filen Web.config i eksempelprogrammet.Open the Web.config file in the sample application. Der er nogle felter, du skal udfylde, for at køre programmet.There are fields you need to fill in to run the application. Du kan vælge ServicePrincipal som AuthenticationType.Choose ServicePrincipal for the AuthenticationType.

    Udfyld følgende felter:Fill in the following fields:

    Bemærk

    Standardgodkendelsestypen i dette eksempel er MasterUser.The default AuthenticationType in this sample is MasterUser. Kontrollér, at du har ændret den til ServicePrincipal.Make sure you change it to ServicePrincipal.

    Web Config-fil

Program-idApplication ID

Udfyld oplysningerne om applicationId med program-id'et fra Azure.Fill in the applicationId information with the Application ID from Azure. Program-id'et bruges af programmet til at identificere sig selv over for de brugere, du anmoder om tilladelser fra.The applicationId is used by the application to identify itself to the users from which you're requesting permissions.

Hvis du vil hente applicationId, skal du følge disse trin:To get the applicationId, follow these steps:

  1. Log på Azure-portalen.Sign into the Azure portal.

  2. Vælg Alle tjenester i navigationsruden til venstre, og søg efter Appregistreringer.In the left-hand nav pane, select All Services, and search for App Registrations.

    Søg efter programregistrering

  3. Vælg programmet, der skal bruge applicationId.Select the application that needs the applicationId.

    Skærmbillede, der viser de viste navne på programmer med ét valgt, som skal bruge program-id'et.

  4. Der er angivet et program-id som GUID.There's an Application ID that is listed as a GUID. Brug dette Program-id som applicationId for programmet.Use this Application ID as the applicationId for the application.

    applicationId

Id for arbejdsområdeWorkspace ID

Udfyld oplysningerne for workspaceId med GUID for programarbejdsområdet fra Power BI.Fill in the workspaceId information with the app workspace (group) GUID from Power BI. Du kan få disse oplysninger enten fra URL-adressen, når du er logget på Power BI-tjenesten, eller ved hjælp af PowerShell.You can get this information either from the URL when signed into the Power BI service or using PowerShell.

URL-adresseURL

workspaceId

PowerShellPowerShell

Get-PowerBIworkspace -name "Paginated Report Embed"

workspaceId fra PowerShell

Rapport-idReport ID

Udfyld reportId med GUID for rapporten fra Power BI.Fill in the reportId information with the report GUID from Power BI. Du kan få disse oplysninger enten fra URL-adressen, når du er logget på Power BI-tjenesten, eller ved hjælp af PowerShell.You can get this information either from the URL when signed into the Power BI service or using PowerShell.

URL-adresseURL

reportId

PowerShellPowerShell

Get-PowerBIworkspace -name "Paginated Report Embed" | Get-PowerBIReport

reportId fra PowerShell

ProgramhemmelighedApplication secret

Udfyld oplysningerne for ApplicationSecret ud fra sektionen Nøgler i sektionen Appregistreringer i Azure.Fill in the ApplicationSecret information from the Keys section of your App registrations section in Azure.

Hvis du vil hente ApplicationSecret, skal du følge disse trin:To get the ApplicationSecret, follow these steps:

  1. Log på Azure Portal.Sign in to the Azure portal.

  2. Vælg Alle tjenester i navigationsruden til venstre, og søg efter Appregistreringer.In the left-hand nav pane, select All services and search for App registrations.

    Søg efter programregistrering

  3. Vælg programmet, der skal bruge ApplicationSecret.Select the application that needs to use the ApplicationSecret.

    Skærmbillede, der viser de viste navne på programmer med ét valgt, som skal bruge programhemmeligheden.

  4. Vælg Certifikater og hemmeligheder under Administrer.Select Certificates and secrets under Manage.

  5. Vælg Nye kundehemmeligheder.Select New client secrets.

  6. Angiv et navn i feltet Beskrivelse, og vælg en varighed.Enter a name in the Description box and select a duration. Vælg derefter Gem for at hente værdien til dit program.Then select Save to get the Value for your application. Når du lukker ruden Nøgler efter at have gemt nøgleværdien, vises feltet med værdien kun som skjult.When you close the Keys pane after saving the key value, the value field shows only as hidden. På det tidspunkt kan du ikke hente nøgleværdien.At that point, you aren't able to retrieve the key value. Hvis du mister nøgleværdien, skal du oprette en ny i Azure Portal.If you lose the key value, create a new one in the Azure portal.

    Nøgleværdi

LejerTenant

Udfyld oplysningerne om tenant med dit lejer-id til Azure.Fill in the tenant information with your azure tenant ID. Du kan få disse oplysninger fra Azure AD Administration, når du er logget på Power BI-tjenesten, eller ved hjælp af PowerShell.You can get this information from the Azure AD admin center when signed into the Power BI service or by using PowerShell.

Kør programmetRun the application

  1. Vælg Kør i Visual Studio.Select Run in Visual Studio.

    Kør programmet

  2. Vælg derefter Integrer rapport.Then select Embed Report.

    Vælg indhold

  3. Du kan nu se rapporten i eksempelprogrammet.Now you can view the report in the sample application.

    Se program

Integrer sideinddelte Power BI-rapporter i dit programEmbed Power BI paginated reports within your application

Selvom trinnene til at integrere dine sideinddelte Power BI-rapporter udføres ved hjælp af REST API'er til Power BI, oprettes de eksempelkoder, der er beskrevet i denne artikel, med .NET-SDK'en.Even though the steps to embed your Power BI paginated reports are done with the Power BI REST APIs, the example codes described in this article are made with the .NET SDK.

Når du integrerer sideinddelte Power BI-rapporter for kunderne i dit program, kræver det, at du har en Azure AD-tjenesteprincipal og får et Azure AD-adgangstoken til dit Power BI-program, før du foretager kald til REST API'erne til Power BI.Embedding Power BI paginated reports for your customers within your application, requires you to have an Azure AD service principal and get an Azure AD access token for your Power BI application, before you make calls to the Power BI REST APIs.

Hvis du vil oprette Power BI-klienten med dit adgangstoken, skal du oprette dit Power BI klientobjekt, som gør det muligt for dig at interagere med REST API'erne til Power BI.To create the Power BI Client with your access token, create a Power BI client object, which allows you to interact with the Power BI REST APIs. Du kan oprette dit Power BI-klientobjekt ved at wrappe AccessToken med et *Microsoft.Rest.TokenCredentials _-objekt.You create the Power BI client object by wrapping the AccessToken with a *Microsoft.Rest.TokenCredentials _ object.

using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.Rest;
using Microsoft.PowerBI.Api.V2;

var tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");

// Create a Power BI Client object. it's used to call Power BI APIs.
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
    // Your code to embed items.
}

Hent den sideinddelte rapport, du vil integrereGet the paginated report you want to embed

Du kan bruge Power BI-klientobjektet til at hente en reference til det element, du vil integrere.You can use the Power BI client object to retrieve a reference to the item you want to embed.

Her er et kodeeksempel på, hvordan du henter den første rapport fra et givent arbejdsområde.Here is a code sample of how to retrieve the first report from a given workspace.

_Du kan se et eksempel på, hvordan du henter et indholdselement, uanset om det er en rapport, et dashboard eller et felt, du vil integrere, i filen Services\EmbedService.cs i prøveprogrammet.*_A sample of getting a content item whether it's a report, dashboard, or tile that you want to embed is available within the Services\EmbedService.cs file in the sample application.*

using Microsoft.PowerBI.Api.V2;
using Microsoft.PowerBI.Api.V2.Models;

// You need to provide the workspaceId where the dashboard resides.
ODataResponseListReport reports = await client.Reports.GetReportsInGroupAsync(workspaceId);

// Get the first report in the group.
Report report = reports.Value.FirstOrDefault();

Opret integrationstokenetCreate the embed token

Generér et integreringstoken, som kan bruges fra JavaScript-API'en.Generate an embed token, which can be used from the JavaScript API. Hvis du vil oprette et integreringstoken til integrering af sideinddelte Power BI-rapporter, skal du bruge API'en Reports GenerateTokenInGroup.To create an embedded token for embedding Power BI paginated reports, use the Reports GenerateTokenInGroup API.

Du kan se et eksempel på, hvordan du opretter et integreringstoken, i filen Services\EmbedService.cs i prøveprogrammet.A sample of creating an embed token is available within the Services\EmbedService.cs file in the sample application.

using Microsoft.PowerBI.Api.V2;
using Microsoft.PowerBI.Api.V2.Models;

// Generate Embed Token.
var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
EmbedToken tokenResponse = client.Reports.GenerateTokenInGroup(workspaceId, report.Id, generateTokenRequestParameters);

// Generate Embed Configuration.
var embedConfig = new EmbedConfig()
{
    EmbedToken = tokenResponse,
    EmbedUrl = report.EmbedUrl,
    Id = report.Id
};

Indlæs et element ved hjælp af JavaScriptLoad an item using JavaScript

Du kan bruge JavaScript til at indlæse en sideinddelt rapport i et div-element på din webside.You can use JavaScript to load a paginated report into a div element on your web page.

Hvis du vil se et komplet eksempel, hvor JavaScript API'en bruges, kan du bruge værktøjet Playground.For a full sample of using the JavaScript API, you can use the Playground tool. Med værktøjet Playground kan du hurtigt prøve dig frem med forskellige typer af eksempler på Power BI Embedded.The Playground tool is a quick way to play with different types of Power BI Embedded samples. Du kan også få flere oplysninger om JavaScript-API'en ved at gå til siden Wiki for PowerBI-JavaScript.You can also get more Information about the JavaScript API by visiting the PowerBI-JavaScript wiki page.

Næste trinNext steps

I dette selvstudium har du lært, hvordan du integrerer sideinddelte Power BI-rapporter i et program til dine kunder.In this tutorial, you've learned how to embed Power BI paginated reports into an application for your customers. Du kan også prøve at integrere Power BI-indhold til dine kunder eller din organisation.You can also try to embed Power BI content for your customers or your organization.

Har du flere spørgsmål?More questions? Prøv at spørge Power BI-community'etTry asking the Power BI Community