<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Filter Power BI  table using  power BI embedded Java script in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Filter-Power-BI-table-using-power-BI-embedded-Java-script/m-p/2472744#M35658</link>
    <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I am new to power Bi embedded, basically i have followed the developer tutotorial and was able to successfully run the application in visual studio code Below is the screen shot.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know where i can insert below filter code. My apolgies, i don't have much developer backgroud.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for your support.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Filter i want to copy:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;const filter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        table: "Geo",
        column: "Region"
    },
    operator: "In",
    values: ["East"]
};

// Add the filter to the report's filters.
try {
    await report.updateFilters(models.FiltersOperations.Add, [filter]);
    console.log("Report filter was added.");
}
catch (errors) {
    console.log(errors);
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my existing JS code:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var reports = window.reports;
var datasets = window.datasets;
var embedToken = window.embedToken;
var models = window['powerbi-client'].models;

// Generate nav links for reports and datasets
$(function () {
    var reportsList = $("#reports-list");
    var datasetsList = $("#datasets-list");

    if (reports.length == 0) {
        reportsList.append($("&amp;lt;li&amp;gt;").text("[None]"));
    }
    else {
        reports.forEach((report) =&amp;gt; {
            var li = $("&amp;lt;li&amp;gt;");
            li.append($("&amp;lt;a&amp;gt;", {
                "href": "javascript&amp;amp;colon;void(0);"
            }).text(report.Name).click(() =&amp;gt; { embedReport(report) }));
            reportsList.append(li);
        });
    }

    if (datasets.length == 0) {
        datasetsList.append($("&amp;lt;li&amp;gt;").text("[None]"));
    }
    else {
        datasets.forEach((dataset) =&amp;gt; {
            var li = $("&amp;lt;li&amp;gt;");
            li.append($("&amp;lt;a&amp;gt;", {
                "href": "javascript&amp;amp;colon;void(0);"
            }).text(dataset.Name).click(() =&amp;gt; { embedQnaDataset(dataset) }));
            datasetsList.append(li);
        });
    }
});

// Embed a report
var embedReport = (report, editMode) =&amp;gt; {

    // Create the report embed config object
    var config = {
        type: 'report',
        id: report.Id,
        embedUrl: report.EmbedUrl,
        accessToken: embedToken,
        tokenType: models.TokenType.Embed,
        permissions: models.Permissions.All,
        viewMode: editMode ? models.ViewMode.Edit : models.ViewMode.View,
        settings: {
            panes: {
                filters: { visible: false },
                pageNavigation: { visible: false }
            },
            extensions: [
                {
                    command: {
                        name: "showValue",
                        title: "Show value in alert box",
                        selector: {
                            $schema: "http://powerbi.com/product/schema#visualSelector",
                            visualName: "bf36eb378296825d9db9" // Monthly sales trends
                        },
                        extend: {
                            visualContextMenu: {
                                title: "Show value in alert box"
                            }
                        }
                    }
                }
            ]
        }
    };

    // Get a reference to the embed container
    var embedContainer = document.getElementById('embed-container');

    // Embed the report
    var embeddedReport = powerbi.embed(embedContainer, config);

    // Add "Show value" context menu item
    embeddedReport.on("commandTriggered", function (command) {
        // Determine the command detail
        var commandDetails = command.detail;
        
        // If the command is showValue, show an alert box
        if (commandDetails.command === "showValue") {
            // Retrieve specific details from the selected data point
            const category = commandDetails.dataPoints[0].identity[0].equals;
            const value = commandDetails.dataPoints[0].values[0].formattedValue;
            
            alert(category + " value is " + value);
        }
    });
}

// Embed the Q&amp;amp;A experience
var embedQnaDataset = (dataset) =&amp;gt; {

    // Create the Q&amp;amp;A embed config object
    var config = {
        type: 'qna',
        tokenType: models.TokenType.Embed,
        accessToken: embedToken,
        embedUrl: dataset.EmbedUrl,
        datasetIds: [dataset.Id],
        viewMode: models.QnaMode.Interactive
    };

    // Get a reference to the embed container
    var embedContainer = document.getElementById('embed-container');

    // Embed the Q&amp;amp;A experience
    var embeddedObject = powerbi.embed(embedContainer, config);
}

// Filter reports by product demographic
$(document).ready(function () {
	$('#demographic').change(function () {
		const report = powerbi.embeds[0];
		const demographic = this.value;

		const removeFilters = (demographic == "*");
		const basicFilter = {
			"$schema": "http://powerbi.com/product/schema#basic",
			"target": {
				"table": "Product",
				"column": "Demographic"
			},
			"operator": removeFilters ? "All" : "In",
			"values": removeFilters ? [] : [demographic]
		}
		
		// Update filters
		report.updateFilters(models.FiltersOperations.Replace, [basicFilter])
			.catch(error =&amp;gt; { console.log(error); });
	});
});


&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Project folder:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Nazim_0-1650730207870.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/703922i92CA79FA304AB8CB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Nazim_0-1650730207870.png" alt="Nazim_0-1650730207870.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 23 Apr 2022 16:24:39 GMT</pubDate>
    <dc:creator>Nazim</dc:creator>
    <dc:date>2022-04-23T16:24:39Z</dc:date>
    <item>
      <title>Filter Power BI  table using  power BI embedded Java script</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Filter-Power-BI-table-using-power-BI-embedded-Java-script/m-p/2472744#M35658</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I am new to power Bi embedded, basically i have followed the developer tutotorial and was able to successfully run the application in visual studio code Below is the screen shot.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know where i can insert below filter code. My apolgies, i don't have much developer backgroud.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for your support.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Filter i want to copy:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;const filter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        table: "Geo",
        column: "Region"
    },
    operator: "In",
    values: ["East"]
};

// Add the filter to the report's filters.
try {
    await report.updateFilters(models.FiltersOperations.Add, [filter]);
    console.log("Report filter was added.");
}
catch (errors) {
    console.log(errors);
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my existing JS code:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var reports = window.reports;
var datasets = window.datasets;
var embedToken = window.embedToken;
var models = window['powerbi-client'].models;

// Generate nav links for reports and datasets
$(function () {
    var reportsList = $("#reports-list");
    var datasetsList = $("#datasets-list");

    if (reports.length == 0) {
        reportsList.append($("&amp;lt;li&amp;gt;").text("[None]"));
    }
    else {
        reports.forEach((report) =&amp;gt; {
            var li = $("&amp;lt;li&amp;gt;");
            li.append($("&amp;lt;a&amp;gt;", {
                "href": "javascript&amp;amp;colon;void(0);"
            }).text(report.Name).click(() =&amp;gt; { embedReport(report) }));
            reportsList.append(li);
        });
    }

    if (datasets.length == 0) {
        datasetsList.append($("&amp;lt;li&amp;gt;").text("[None]"));
    }
    else {
        datasets.forEach((dataset) =&amp;gt; {
            var li = $("&amp;lt;li&amp;gt;");
            li.append($("&amp;lt;a&amp;gt;", {
                "href": "javascript&amp;amp;colon;void(0);"
            }).text(dataset.Name).click(() =&amp;gt; { embedQnaDataset(dataset) }));
            datasetsList.append(li);
        });
    }
});

// Embed a report
var embedReport = (report, editMode) =&amp;gt; {

    // Create the report embed config object
    var config = {
        type: 'report',
        id: report.Id,
        embedUrl: report.EmbedUrl,
        accessToken: embedToken,
        tokenType: models.TokenType.Embed,
        permissions: models.Permissions.All,
        viewMode: editMode ? models.ViewMode.Edit : models.ViewMode.View,
        settings: {
            panes: {
                filters: { visible: false },
                pageNavigation: { visible: false }
            },
            extensions: [
                {
                    command: {
                        name: "showValue",
                        title: "Show value in alert box",
                        selector: {
                            $schema: "http://powerbi.com/product/schema#visualSelector",
                            visualName: "bf36eb378296825d9db9" // Monthly sales trends
                        },
                        extend: {
                            visualContextMenu: {
                                title: "Show value in alert box"
                            }
                        }
                    }
                }
            ]
        }
    };

    // Get a reference to the embed container
    var embedContainer = document.getElementById('embed-container');

    // Embed the report
    var embeddedReport = powerbi.embed(embedContainer, config);

    // Add "Show value" context menu item
    embeddedReport.on("commandTriggered", function (command) {
        // Determine the command detail
        var commandDetails = command.detail;
        
        // If the command is showValue, show an alert box
        if (commandDetails.command === "showValue") {
            // Retrieve specific details from the selected data point
            const category = commandDetails.dataPoints[0].identity[0].equals;
            const value = commandDetails.dataPoints[0].values[0].formattedValue;
            
            alert(category + " value is " + value);
        }
    });
}

// Embed the Q&amp;amp;A experience
var embedQnaDataset = (dataset) =&amp;gt; {

    // Create the Q&amp;amp;A embed config object
    var config = {
        type: 'qna',
        tokenType: models.TokenType.Embed,
        accessToken: embedToken,
        embedUrl: dataset.EmbedUrl,
        datasetIds: [dataset.Id],
        viewMode: models.QnaMode.Interactive
    };

    // Get a reference to the embed container
    var embedContainer = document.getElementById('embed-container');

    // Embed the Q&amp;amp;A experience
    var embeddedObject = powerbi.embed(embedContainer, config);
}

// Filter reports by product demographic
$(document).ready(function () {
	$('#demographic').change(function () {
		const report = powerbi.embeds[0];
		const demographic = this.value;

		const removeFilters = (demographic == "*");
		const basicFilter = {
			"$schema": "http://powerbi.com/product/schema#basic",
			"target": {
				"table": "Product",
				"column": "Demographic"
			},
			"operator": removeFilters ? "All" : "In",
			"values": removeFilters ? [] : [demographic]
		}
		
		// Update filters
		report.updateFilters(models.FiltersOperations.Replace, [basicFilter])
			.catch(error =&amp;gt; { console.log(error); });
	});
});


&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Project folder:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Nazim_0-1650730207870.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/703922i92CA79FA304AB8CB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Nazim_0-1650730207870.png" alt="Nazim_0-1650730207870.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 23 Apr 2022 16:24:39 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Filter-Power-BI-table-using-power-BI-embedded-Java-script/m-p/2472744#M35658</guid>
      <dc:creator>Nazim</dc:creator>
      <dc:date>2022-04-23T16:24:39Z</dc:date>
    </item>
    <item>
      <title>Re: Filter Power BI  table using  power BI embedded Java script</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Filter-Power-BI-table-using-power-BI-embedded-Java-script/m-p/2477106#M35713</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/382134"&gt;@Nazim&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You may refer to this offical blog:&amp;nbsp;&lt;A href="https://docs.microsoft.com/en-us/javascript/api/overview/powerbi/control-report-filters" target="_self"&gt;Control report filters&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Code:&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;var accessToken = "@Model.EmbedToken.Token";

    // Read embed URL from Model
    var embedUrl = "@Html.Raw(Model.EmbedUrl)";

    // Read report Id from Model
    var embedReportId = "@Model.Id";

    // Get models. models contains enums that can be used.
    var models = window['powerbi-client'].models;

    // Get a reference to the embedded report HTML element
    var reportContainer = $('#embedContainer')[0];

    if ("@Model.Username" != "") {
        $("#RLS").prop('checked', true);
        $("#RLSdiv").show();
    }
    else
    {
        $("#RLS").prop('checked', false);
        $("#RLSdiv").hide();
    }

    if ("@Model.IsEffectiveIdentityRequired.GetValueOrDefault()" == "True") {
        $("#noRLSdiv").hide();
        $("#RLS").removeAttr("disabled");
        $("#RLS").change(function () {
            if ($(this).is(":checked")) {
                $("#RLSdiv").show(300);
            } else {
                $("#RLSdiv").hide(200);
            }
        });
    }
    else
    {
        $("#noRLSdiv").show();
    }

    const testFilter = {
        $schema: "http://powerbi.com/product/schema#basic",
        target: {
            table: "SampleParameter",
            column: "AgentID"
        },
        operator: "In",
        values: ["H1627"]
    };

    // Embed configuration used to describe the what and how to embed.
    // This object is used when calling powerbi.embed.
    // This also includes settings and options such as filters.
    // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
    var config = {
        type: 'report',
        tokenType: models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: embedReportId,
        permissions: models.Permissions.All,//models.Permissions.Read
        //can add filters here
        filters: [testFilter], //filter array here
        settings: {
            filterPaneEnabled: true,
            navContentPaneEnabled: true //the nav at bottom of report
        },
        //filterType: models.FilterType.BasicFilter
    };

    // Embed the report and display it within the div container.
    var report = powerbi.embed(reportContainer, config);&lt;/LI-CODE&gt;
&lt;P&gt;For refernece:&amp;nbsp;&lt;A href="https://community.powerbi.com/t5/Developer/Embed-Report-Filter-not-working/m-p/1189355" target="_self"&gt;Embed Report Filter not working&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Rico Zhou&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Apr 2022 08:46:21 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Filter-Power-BI-table-using-power-BI-embedded-Java-script/m-p/2477106#M35713</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-04-26T08:46:21Z</dc:date>
    </item>
  </channel>
</rss>

