Créer, modifier et enregistrer un rapport incorporé

L’analytique incorporée Power BI vous permet de créer, de modifier et d’enregistrer des rapports incorporés. Un rapport peut être créé en fonction d’un jeu de données existant, ou vous pouvez modifier un rapport existant. Vous pouvez également enregistrer le rapport après sa création ou sa modification.

Guide pratique pour créer un rapport

Découvrez comment créer un rapport vide à partir d’un jeu de données existant.

Autorisations de jeton d’accès requises pour la création d’un rapport

Générez un jeton incorporé avec accès au jeu de données. Si vous utilisez la méthode d’authentification utilisateur maître , vérifiez que votre application a les étendues suivantes : , et . Pour plus d’informations, consultez Incorporer un jeton - Générer un de jeton.

Autorisations côté client requises pour la création d’un rapport

Les autorisations côté client suivantes sont requises pour créer un rapport :

  • Créer : les utilisateurs peuvent créer un rapport.

  • Toutes les : les utilisateurs peuvent créer, afficher, modifier, enregistrer et enregistrer une copie du rapport.

Créer un rapport

Créez un rapport vide à partir d’un jeu de données existant. Vous aurez besoin d’un ID de jeu de données et de l’URL incorporée. Par exemple, vous pouvez utiliser l’API REST getDatasetsInGroup et récupérer la CreateReportEmbedURL. Pour plus d’informations, consultez Jeux de données - Obtenir des jeux de données dans le groupe.

Note

Vous devez disposer d’autorisations de génération ou d’écriture sur le jeu de données pour créer un rapport.

let embedCreateConfiguration = {
    tokenType: tokenType,
    accessToken: accessToken,
    embedUrl: embedURL,
    datasetId: datasetId,
    settings: settings,
    theme: theme, // optional
};

// Grab the reference to the div HTML element that will host the report
let embedContainer = $('#embedContainer')[0];

// Create report
let report = powerbi.createReport(embedContainer, embedCreateConfiguration);

Vous avez également la possibilité de créer un rapport avec un thème qui lui est appliqué. Les nouveaux visuels ajoutés au rapport respectent le style de thème. Pour plus d’informations, consultez Appliquer des thèmes de rapport.

Comment modifier un rapport

Découvrez comment modifier un rapport existant et basculer entre les modes Affichage et Édition.

Autorisations de jeton d’accès requises pour la modification

Générez un jeton incorporé avec accès au rapport. Si vous utilisez la méthode d’authentification utilisateur maître , vérifiez que votre application a les étendues suivantes : et . Vous devez également définir l’indicateur allowEdit: true pour chaque rapport que l’utilisateur final doit modifier. Pour plus d’informations, consultez Incorporer un jeton - Générer un de jeton.

Autorisations côté client requises pour la modification

Les autorisations côté client suivantes sont requises pour modifier un rapport :

  • Copier : les utilisateurs peuvent enregistrer une copie du rapport à l’aide de Enregistrer sous.

  • ReadWrite : les utilisateurs peuvent afficher, modifier et enregistrer le rapport.

  • Toutes les : les utilisateurs peuvent créer, afficher, modifier, enregistrer et enregistrer une copie du rapport.

Modifier le rapport

Chargez votre rapport existant en mode Édition. Le rapport doit être incorporé de la même façon que l’application incorpore un rapport normal, et le mode d’affichage doit être en mode Édition. Vérifiez que vous définissez le paramètre viewMode sur models.ViewMode.Editet que vous disposez des autorisations de client appropriées.

let config = {
    type: 'report',
    tokenType: models.TokenType.Aad or models.TokenType.Embed,
    accessToken: YourAccessToken,
    embedUrl: YourEmbedUrl,
    id: YourEmbedReportId,
    permissions: models.Permissions.All,
    viewMode: models.ViewMode.Edit,
};

// Grab the reference to the div HTML element that will host the report
let embedContainer = $('#embedContainer')[0];

// Embed report
let report = powerbi.embed(embedContainer, config);

Votre utilisateur peut maintenant modifier le rapport en fonction des autorisations activées.

Vous pouvez également basculer entre les modes Édition et Affichage une fois le rapport chargé.

report.switchMode("view");

Pour passer au mode d’édition :

report.switchMode("edit");

Comment enregistrer un rapport

Découvrez comment enregistrer un rapport, y compris des options supplémentaires telles que l’enregistrement d’une copie d’un rapport et l’enregistrement d’un rapport dans un autre espace de travail.

Autorisations de jeton d’accès requises pour l’enregistrement

Générez un jeton incorporé avec accès au rapport et au jeu de données. Si vous souhaitez enregistrer le rapport dans un autre espace de travail, le jeton doit avoir accès à l’espace de travail cible. Si vous utilisez la méthode d’authentification utilisateur maître , vérifiez que votre application a les étendues suivantes : et . Vous devez également définir l’indicateur de allowEdit: true pour chaque rapport que le client doit modifier. Pour plus d’informations, consultez Incorporer un jeton - Générer un de jeton.

Autorisations côté client requises pour l’enregistrement

Les autorisations côté client suivantes sont requises pour enregistrer un rapport :

  • ReadWrite : les utilisateurs peuvent afficher, modifier et enregistrer le rapport.

  • Créer : les utilisateurs peuvent créer un rapport.

  • Copier : les utilisateurs peuvent enregistrer une copie du rapport à l’aide de Enregistrer sous.

  • Toutes les : les utilisateurs peuvent créer, afficher, modifier, enregistrer et enregistrer une copie du rapport.

Enregistrer un rapport

Lors de la création d’un rapport, le rapport n’est pas enregistré tant que vous n’appelez pas l’opération de save à partir du menu fichier ou de JavaScript.

report.save();

Enregistrer une copie d’un rapport

Enregistrez une copie supplémentaire avec un autre nom. La copie du rapport est enregistrée dans le même espace de travail que le jeu de données du rapport.

let saveAsParameters = {
    name: "newReport"
};

report.saveAs(saveAsParameters);

Vous pouvez également enregistrer votre rapport dans un autre espace de travail. Vérifiez que vous disposez des autorisations appropriées pour l’espace de travail cible.

let saveAsParameters = {
    name: "newReport"
    targetWorkspaceId: "13bbf317-fe2b-4b15-a081-94b0921c28e5"
};

report.saveAs(saveAsParameters);

Vérifier que le rapport est enregistré

Appelez report.isSaved pour vous assurer que le rapport est enregistré. Cette méthode peut empêcher la perte de modifications non enregistrées.

let isReportSaved = await report.isSaved();

Créer une expérience saveAs personnalisée

Vous pouvez créer une boîte de dialogue de saveAs personnalisée en ajoutant le paramètre de rapport useCustomSaveAsDialog: true à l’objet de configuration. Ce paramètre masque la boîte de dialogue d’interface utilisateur par défaut.

L’événement saveAsTriggered est déclenché lorsqu’un utilisateur clique sur enregistrer sous dans l’interface utilisateur. Utilisez ces informations pour afficher votre boîte de dialogue personnalisée.

report.on("saveAsTriggered", function (event) {
    console.log(event);
});

Pour effectuer une opération d’enregistrement sous, vous pouvez appeler report.saveAs à partir de votre boîte de dialogue personnalisée. Pour plus d’informations, consultez Enregistrer une copie d’un rapport.

let saveAsParameters = {
    name: "newReport"
    targetWorkspaceId: "13bbf317-fe2b-4b15-a081-94b0921c28e5"
};

report.saveAs(saveAsParameters);

Écouter les événements d’enregistrement et d’enregistrement

L’événement saved est déclenché lorsqu’un enregistrement est déclenché par une action save ou saveAs dans l’interface utilisateur ou à l’aide des API. Pour plus d’informations, consultez Comment gérer les événements.

report.on("saved", function (event) {
    console.log(event);
});