Forum Discussion
rodolfodonahosp
8 years agoNew Member
Exporting pre-built dashboards for users
Hello! I am a developer and i stumbled across Power BI and loved its featuresso i am thinking of apllying it's feature to show some BI for the users. What i intend to do is build a report showing som...
- 8 years ago
Hi rodolfodonahosp,
If the end users can operate the slicers and the filters, you can just show them the reports and dashboards. If you want the filter change automatically, I think you can do some coding. Please refer to the live demo. You also can download the code from here. You can use the setFilters function.
function _Page_SetFilters() { // Get a reference to the embedded report HTML element var embedContainer = $('#embedContainer')[0]; // Get a reference to the embedded report. report = powerbi.get(embedContainer); // Build the filter you want to use. For more information, see Constructing // Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters. const filter = { $schema: "http://powerbi.com/product/schema#basic", target: { table: "Store", column: "Chain" }, operator: "In", values: ["Lindseys"] }; // Retrieve the page collection and then set the filters for the first page. // Pay attention that setFilters receives an array. report.getPages() .then(function (pages) { // Retrieve active page. var activePage = pages.find(function(page) { return page.isActive }); activePage.setFilters([filter]) .catch(function (errors) { Log.log(errors); }); }) .catch(function (errors) { Log.log(errors); }); }Best Regards,
Dale
v-jiascu-msft
8 years agoMicrosoft Employee
Hi rodolfodonahosp,
If the end users can operate the slicers and the filters, you can just show them the reports and dashboards. If you want the filter change automatically, I think you can do some coding. Please refer to the live demo. You also can download the code from here. You can use the setFilters function.
function _Page_SetFilters() {
// Get a reference to the embedded report HTML element
var embedContainer = $('#embedContainer')[0];
// Get a reference to the embedded report.
report = powerbi.get(embedContainer);
// Build the filter you want to use. For more information, see Constructing
// Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters.
const filter = {
$schema: "http://powerbi.com/product/schema#basic",
target: {
table: "Store",
column: "Chain"
},
operator: "In",
values: ["Lindseys"]
};
// Retrieve the page collection and then set the filters for the first page.
// Pay attention that setFilters receives an array.
report.getPages()
.then(function (pages) {
// Retrieve active page.
var activePage = pages.find(function(page) {
return page.isActive
});
activePage.setFilters([filter])
.catch(function (errors) {
Log.log(errors);
});
})
.catch(function (errors) {
Log.log(errors);
});
}
Best Regards,
Dale