PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → Champ HTML (Affichage PowerBI) dans Windev 26
Champ HTML (Affichage PowerBI) dans Windev 26
Started by Darkryse, Jul., 25 2024 3:31 PM - 2 replies
Posted on July, 25 2024 - 3:31 PM
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>
Registered member
4,061 messages
Popularité : +227 (347 votes)
Posted on July, 25 2024 - 4:42 PM
Bonjour,
Merci de mettre les balises de code

--
Il y a peut être plus simple, mais, ça tourne
Posted on July, 25 2024 - 5:01 PM
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>