Make sure you've add the script reference in the html page.
<script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/powerbi-client/dist/powerbi.js"></script>
Also you can try below sample, which actually works in my test.
var Filter = { $schema: "http://powerbi.com/product/schema#advanced", target: { table: "Sales CountryRegionCurrency", column: "CountryRegionCode" }, logicalOperator: "OR", conditions: [ { operator: "Contains", value: "CN" }, { operator: "Contains", value: "CO" } ] } var embedConfiguration = { type: 'report', accessToken: 'xxxxx', id: '94da70b0xxxxxx-86bb8a2b9c18', embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=94da70bxxxxxx8a2b9c18', }; var $reportContainer = $('#reportContainer'); var report = powerbi.embed($reportContainer.get(0), embedConfiguration); <!--validateReportLoad incorrectly returns schema errors for valid filters #16https://github.com/Microsoft/powerbi-models/issues/16--> report.on('loaded', event => { report.getFilters() .then(filters => { filters.push(Filter); return report.setFilters(filters); }); });