Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Seems like a simple thing to do but I'm not able for figure this one out.
I am embedding a visual (slicer), attaching an event handler for "selectionChanged" and just trying to get the values of the slicer.
let embedConfiguration = {
accessToken: psEmbedDetails.token.Token,
embedUrl: psEmbedDetails.embedUrl,
id: PageSectionWidget.PowerBIReport,
pageName: PageSectionWidget.PowerBIPage,
tokenType: models.TokenType.Embed,
type: 'visual',
slicers: [],
visualName: PageSectionWidget.PowerBIWidget,
permissions: models.Permissions.All,
viewMode: models.ViewMode.View,
filters: [basicFilterCustomer, basicFilterFurnace],
settings: {
filterPaneEnabled: false,
navContentPaneEnabled: false
}
};
// Get a reference to the HTML element that contains the embedded report.
let embedContainer = $('#psw' + PageSectionWidget.PageSectionWidgetId)[0];
// Embed the visual.
let visual = powerbi.embed(embedContainer, embedConfiguration);
embeddedElements.push(visual);
visual.on("selectionChanged", function (event) {
console.log(event.detail);
});
The details are blank for dataPoints and filters. I just want to get the slicer date range (start and end date)
Thanks for any help!
Hi @acarlson
The selectionChanged
event is raised whenever the user is changing the selected visual. selectedItems
is a list of all selected visuals when more than one is selected.
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
For referece: Selector.SelectionChanged Event
You may refer to this offical blog to learn more details about selectionChanged.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Rico, thanks for the reply.
The selection changed event reference you gave seems to be for .net controls. I'm trying to get it through the power bi embedded javascript api. The timestamp slicer is an embedded visual, is it possible to get the selected items from within the javascript selectionChanged event?
This is what is returned from the event parameter
I tried using the getSlicerState() but that returns "getSlicerState is not a function" javascript error.
visual.on("selectionChanged", function (event) {
console.log(event);
let curV = powerbi.get(event.target);
curV.getSlicerState().then(slicerState => {
if (slicerState.filters.length > 0) filteredSlicers.push(slicerState)
})
});
Thanks!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.