INTEGRATION OF POWER BI WITH HTML PAGE AND ESTABLISHING COMMUNICATION BTW HTML PAGE AND POWER BI
In this example we will embed the powerbi content in html page and create button in html page through which the view of the page will change. the below example i have modified as per above question
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button class="textLarge" onclick='show("ReportSection", "Frank");' style="display: inline-block;">Frank</button>
So here I am using a button click function "show" which has two parameters one is "page name" and other is "filtervalue"
and I have a iframe through which I am embedding my power bi report.
just remember that the filter value and you are putting is similar to the one in the published Bi report. Avoid spelling mistake as there would be character matching on the string.
<iframe id="embeddedframe" width="2000" height="1000" src="https://app.powerbi.com/reportEmbed?reportId=(put_your_report_id_here_and remove_parenthesis)&groupId=(put_your_group_id_here_and remove_parenthesis)&autoAuth=true&ctid=(put_your_ct_id_here_and remove_parenthesis)&pageName=" frameborder="0" allowFullScreen="true"></iframe>
Basically you don't have to edit the iframe URL, you can directly get it from bi service portal
Then call the below function
In below function you need to edit the
1) baseURL
2) Table_Nameand Colum_Name
3)iframe_id
<script>
function show(pageName, filterValue)
{
var baseUrl='https://app.powerbi.com/reportEmbed?
reportId=b0f&groupId=e2c&autoAuth=true&ctid=efc8&config=e&pageName='
var newUrl = baseUrl + "&pageName=" + pageName;
if(null != filterValue && "" != filterValue)
{
newUrl += "&$filter=Table_Name/Column_name eq '" + filterValue + "'";
}
//Assumes there's an iFrame on the page with id="iFrame"
var report = document.getElementById("embeddedframe")
report.src = newUrl;
}
</script>