Forum Discussion

MichaelWash's avatar
MichaelWash
Helper I
4 years ago
Solved

Creating an Embedded Power BI Report using a Dataset created by A Datamart?

Currently, if we call the API to create a report (passing in a Workspace and a Dataset) it will work for any dataset, except a dataset that was created by a Datamart

 

 

 

    private async void DisplayReportAsync()
    {
        var accessToken = await @PowerBIService.GetPowerBIAccessTokenAsync();
        var tokenCredentials = new TokenCredentials(accessToken, "Bearer");

        selectedWorkspaceID = selectedPowerbiWorkSpace.ToString();

        using (var client = new PowerBIClient(
            new Uri(_powerBISettings.ApiUrl),
            tokenCredentials))
        {
            var generateTokenRequestParameters =
                new GenerateTokenRequest(
                    accessLevel: TokenAccessLevel.Create,
                    datasetId: SelectedDatasetId,
                    allowSaveAs: true    );

            // For help see: https://bit.ly/2TbYjFl

            var tokenResponse =
                await client.Reports.GenerateTokenForCreateAsync(
                    new Guid(selectedWorkspaceID),
                    generateTokenRequestParameters);

            string CreateReportEmbedURL =
                colDatasets.Where(x => x.Id == SelectedDatasetId)
                .FirstOrDefault().CreateReportEmbedURL;

            objRef = DotNetObjectReference.Create(this);                                                                                                                                                                                                 

            await Interop.CreateNewReport(
                JSRuntime,
                PowerBIElement,
                tokenResponse.Token,
                CreateReportEmbedURL,
                SelectedDatasetId, 
                objRef
            );
        }
    }

 

 

 

 We get:

1 Reply