Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Hello, everyone!
I am building my very first custom visual and need some help in figuring out what went wrong ... I was trying to create a slicer with 'applyJsonFilter' API.
msd_li.addEventListener("click", event => { let filterText = (event.target as HTMLElement).innerText; console.log(filterText); let src=this.dataView.categorical.categories[1].source; console.log(src.queryName); const target = { table: src.queryName.substr(0, src.queryName.indexOf(".")), column:src.displayName }; console.log("Table: " + target.table + "\nColumn: " + target.column); let filter = new models.AdvancedFilter(target, "And", { operator: "Is", value: filterText });
debugger; this.host.applyJsonFilter(filter,"general","filter",powerbi.FilterAction.merge); });
However, when I clicked on the element I got an error on the last line: Cannot read property 'applyJsonFilter' of undefined. I might have missed some information but wasn't able to figure out which part was wrong.
Any help would be appreciated.
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.