Forum Discussion
JoyH
2 years agoHelper I
Log Analytics KQL - How do I track interaction?
Hi,
I have a requirement to see which slicers and visual users are interacting with.
I have Log Analytics set up for my workspace and I am able to see a record for each dashboard visual load (KQL below). I'm importing this data into a PBIX and modeling it with report.JSON to get the names & descriptions of all the visuals.
My next step is to somehow figure out if a user changed a slicer or drilled into a visual or selected a value. I'm hoping there is a better way to do this than comparing the DAX/EventText.
If anyone knows, please reply. TIA!
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == ""QueryEnd""
| where ArtifactName == ""Dashboard_PRODUCTION""
| extend ParsedContext = parse_json(ApplicationContext)
| extend ParsedIdentity = parse_json(Identity)
| project ReportId = ParsedContext.Sources[0].ReportId, VisualId = ParsedContext.Sources[0].VisualId, TimeGenerated, EventText, ParsedIdentity.effectiveClaims.upn, Role = tostring(ParsedIdentity.effectiveClaims.roles[0])
- Anonymous2 years ago
Hi JoyH ,
Please try the following sentences:
Sample Log Analytics KQL queries
let dashboardName = "YourDashboardname"; PowerBI | where OperationName == "VisualContainer" or OperationName == "Slicer" | where ReportName == dashboardName | where TimeGenerated > ago(30d) | project TimeGenerated, OperationName, UserName, ObjectType, ObjectName, AdditionalInfoBest Regards
2 Replies
- AnonymousNot applicable
Hi JoyH ,
Please try the following sentences:
Sample Log Analytics KQL queries
let dashboardName = "YourDashboardname"; PowerBI | where OperationName == "VisualContainer" or OperationName == "Slicer" | where ReportName == dashboardName | where TimeGenerated > ago(30d) | project TimeGenerated, OperationName, UserName, ObjectType, ObjectName, AdditionalInfoBest Regards
- JoyHHelper I
Thank you!