Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi,
We have Embeded the PowerBI report in Angular application using PowerBI Client and AppOwns data. Now I need to pass a parameter from Angular UI for example Id=100 to the report to get only those matching rows. I have tested few examples nothing worked. Pls point me to any article or example.
Thanks in advance.
Solved! Go to Solution.
Hi @sivakar7 ,
Please review the following links, hope they can help you.
How to embed Power BI content in an Angular app | Microsoft Learn
Use filters in a Power BI embedded analytics report | Microsoft Learn
In addition, you can follow the steps below to get it:
1. Ensure you have the Power BI Client installed in your Angular project.
npm install powerbi-client
2. Embed the report with the filters
import { Component, OnInit } from '@angular/core';
import * as pbi from 'powerbi-client';
@Component({
selector: 'app-powerbi-report',
templateUrl: './powerbi-report.component.html',
styleUrls: ['./powerbi-report.component.css']
})
export class PowerbiReportComponent implements OnInit {
constructor() {}
ngOnInit() {
this.embedReport();
}
embedReport() {
const embedContainer = document.getElementById('embedContainer');
const reportConfig = {
type: 'report',
tokenType: pbi.models.TokenType.Embed,
accessToken: 'YOUR_EMBED_TOKEN',
embedUrl: 'YOUR_EMBED_URL',
id: 'YOUR_REPORT_ID',
permissions: pbi.models.Permissions.All,
settings: {
filterPaneEnabled: false,
navContentPaneEnabled: false
}
};
const powerbi = new pbi.service.Service(
pbi.factories.hpmFactory,
pbi.factories.wpmpFactory,
pbi.factories.routerFactory
);
const report = powerbi.embed(embedContainer, reportConfig);
// Apply a filter when the report is loaded
report.on('loaded', () => {
this.applyFilter(report, 100); // Pass the ID or parameter you need
});
}
applyFilter(report, id) {
const filter = {
$schema: 'http://powerbi.com/product/schema#basic',
target: {
table: 'YourTableName',
column: 'YourColumnName'
},
operator: 'In',
values: [id]
};
report.updateFilters(pbi.models.FiltersOperations.Replace, [filter])
.then(result => {
console.log('Filter applied successfully');
})
.catch(error => {
console.error('Error applying filter', error);
});
}
}
Best Regards
Thank you @v-yiruan-msft . Control report filters(Use filters in a Power BI embedded analytics report | Microsoft Learn) helped my requirement.
Hi @sivakar7 ,
Please review the following links, hope they can help you.
How to embed Power BI content in an Angular app | Microsoft Learn
Use filters in a Power BI embedded analytics report | Microsoft Learn
In addition, you can follow the steps below to get it:
1. Ensure you have the Power BI Client installed in your Angular project.
npm install powerbi-client
2. Embed the report with the filters
import { Component, OnInit } from '@angular/core';
import * as pbi from 'powerbi-client';
@Component({
selector: 'app-powerbi-report',
templateUrl: './powerbi-report.component.html',
styleUrls: ['./powerbi-report.component.css']
})
export class PowerbiReportComponent implements OnInit {
constructor() {}
ngOnInit() {
this.embedReport();
}
embedReport() {
const embedContainer = document.getElementById('embedContainer');
const reportConfig = {
type: 'report',
tokenType: pbi.models.TokenType.Embed,
accessToken: 'YOUR_EMBED_TOKEN',
embedUrl: 'YOUR_EMBED_URL',
id: 'YOUR_REPORT_ID',
permissions: pbi.models.Permissions.All,
settings: {
filterPaneEnabled: false,
navContentPaneEnabled: false
}
};
const powerbi = new pbi.service.Service(
pbi.factories.hpmFactory,
pbi.factories.wpmpFactory,
pbi.factories.routerFactory
);
const report = powerbi.embed(embedContainer, reportConfig);
// Apply a filter when the report is loaded
report.on('loaded', () => {
this.applyFilter(report, 100); // Pass the ID or parameter you need
});
}
applyFilter(report, id) {
const filter = {
$schema: 'http://powerbi.com/product/schema#basic',
target: {
table: 'YourTableName',
column: 'YourColumnName'
},
operator: 'In',
values: [id]
};
report.updateFilters(pbi.models.FiltersOperations.Replace, [filter])
.then(result => {
console.log('Filter applied successfully');
})
.catch(error => {
console.error('Error applying filter', error);
});
}
}
Best Regards
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
9 | |
6 | |
3 | |
3 | |
2 |