PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Champ HTML (Affichage PowerBI) dans Windev 26
Champ HTML (Affichage PowerBI) dans Windev 26
Débuté par Darkryse, 25 juil. 2024 15:31 - 2 réponses
Posté le 25 juillet 2024 - 15:31
Bonjour à tous,

J'aimerai intégrer un rapport PowerBI dans un élément HTML Windev. Cependant, j'ai des problèmes d'affichages étonnant.

Pour afficher un rapport PowerBI, je dois exécuter une fonction de la bibliothèque JS PowerBI.min.js, powerbi.embed()

Lorsque j'ajoute mon code dans l'éditeur visuel du champ Windev, le JS charge et l'affichage du rapport fonctionne. Lorsque je mets ce même code depuis le code de ma fenêtre, rien ne charge.

Quelles sont les modifications à apporter à mon code ? Je suis un peu perdu.

Merci de vos réponses

Voici le code HTML principal :

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Power BI Embedded Report</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/powerbi-client/dist/powerbi.min.js"></script>
<style>
#dashboardContainer {
width: 100%;
height: 100vh;
}
</style>
</head>
<body>
<div id="dashboardContainer"></div>
<script type="text/javascript">
window.onload = function () {
var models = window['powerbi-client'].models;

let accessToken = 'DDDDDDDDD';

let embedUrl = 'CCCCCCCC';

let embedReportId = 'ZZZZZZZZ';

let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: embedReportId,
settings: {
panes: {
filters: {
visible: true
},
pageNavigation: {
visible: true
}
},
bars: {
statusBar: {
visible: true
}
}
}
};

var $reportContainer = $('#dashboardContainer');
var report = powerbi.embed($reportContainer.get(0), config);
}
</script>
</body>
</html>
Membre enregistré
4 061 messages
Popularité : +227 (347 votes)
Posté le 25 juillet 2024 - 16:42
Bonjour,
Merci de mettre les balises de code

--
Il y a peut être plus simple, mais, ça tourne
Posté le 25 juillet 2024 - 17:01
Bonjour,

Voici le code complet

Procedure MaFenêtre()

HTM_RapportBI = [
<html>
<head>
<meta charset="UTF-8">
<title>Power BI Embedded Report</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/powerbi-client/dist/powerbi.min.js"></script>
<style>
#dashboardContainer {
width: 100%;
height: 100vh;
}
</style>
</head>
<body>
<div id="dashboardContainer"></div>
<script type="text/javascript">
window.onload = function () {
var models = window['powerbi-client'].models;

let accessToken = 'XXXXXXXX';

let embedUrl = 'XXXXXXXX';

let embedReportId = 'XXXXXXXX';

let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: embedReportId,
settings: {
panes: {
filters: {
Visible: True
},
pageNavigation: {
Visible: True
}
},
bars: {
statusBar: {
Visible: True
}
}
}
};

var $reportContainer = $('#dashboardContainer');
var report = powerbi.embed($reportContainer.get(0), config);
}
</script>
</body>
</html>