Créer, modifier et enregistrer un rapport incorporé

L’analytique incorporée Power BI vous permet de créer, modifier et 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.

Création d’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 principale , vérifiez que votre application a les étendues suivantes : Dataset.Read.All, Content.Createet Workspaces.ReadWrite.all. Pour plus d’informations, consultez Incorporer un jeton - Générer un 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.

  • Tous : 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 getDatasetsInGroup REST et récupérer le CreateReportEmbedURL. Pour plus d’informations, consultez Jeux de données - Obtenir des jeux de données dans le groupe .

Notes

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 d’affichage et d’é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 principale , vérifiez que votre application a les étendues suivantes : Dataset.ReadWrite.All et Report.ReadWrite.All. 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 jeton .

Autorisations côté client requises pour la modification

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

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

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

  • Tous : 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 viewMode paramètre models.ViewMode.Editsur , et que vous disposez des autorisations 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 désormais modifier le rapport en fonction des autorisations qui ont été activées.

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

report.switchMode("view");

Pour basculer vers le 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 principale , vérifiez que votre application a les étendues suivantes : Report.ReadWrite.Allet Workspaces.ReadWrite.all. Vous devez également définir l’indicateur allowEdit: true pour chaque rapport que le client doit modifier. Pour plus d’informations, consultez Incorporer un jeton - Générer un 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.

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

  • Tous : 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’avez pas appelé l’opération 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 sera 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 d’enregistrement personnalisée

Vous pouvez créer une boîte de dialogue personnalisée saveAs en ajoutant le paramètre de useCustomSaveAsDialog: true rapport à 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, voir 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 ou saveAs une save action 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);
});

Étapes suivantes