The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hi,
I'm trying to understand data exported from the Power BI Performance Analyzer.
The GUI display is quite easy to understand and the doc is explaning it well:
But once you export the data into a JSON file, you get a very different hierarchy/categories and I can't find any informations about it.
I guess it looks like following:
(from left to right)
User Action | |||||
Visual Container Lifecycle | Render | Data View Transform | |||
Visual Container Lifecycle | Query | Query Generation | |||
Visual Container Lifecycle | Query | Execute Semantic Query | Execute DAX Query | Execute Query | Serialize Rowset |
And:
Report Canvas | User Action |
Report Canvas | Visual Container Lifecycle |
Report Canvas | Render |
Report Canvas | Query |
Report Canvas | Data View Transform |
Report Canvas | Query Generation |
DSE | Execute Semantic Query |
DSE | Execute DAX Query |
AS | Execute Query |
AS | Serialize Rowset |
After testing and comparing it, I guess the GUI DAX query is for the JSON Execute DAX Query and the GUI Visual display is for Render but I have no clue about the rest
Am I missing something? Do you know where I can find more information about the data inside the JSON file and who to match it with the GUI display?
I tried to compare this:
With the JSON exported:
{"version":"1.0.0","events":[{"name":"User Action","component":"Report Canvas","start":"2019-06-26T09:46:42.601Z","id":"ccdc8d42a77262a7c866","metrics":{"sourceLabel":"UserAction_Refresh"}},{"name":"Visual Container Lifecycle","component":"Report Canvas","start":"2019-06-26T09:46:42.605Z","end":"2019-06-26T09:46:42.689Z","id":"4f4ad20c7589b5410055","metrics":{"status":"finished","visualTitle":"Slicer"}},{"name":"Query","component":"Report Canvas","start":"2019-06-26T09:46:42.606Z","end":"2019-06-26T09:46:42.680Z","id":"ddeb60c0055ae5117113","parentId":"4f4ad20c7589b5410055"},{"name":"Render","component":"Report Canvas","start":"2019-06-26T09:46:42.679Z","end":"2019-06-26T09:46:42.689Z","id":"00c7257f7c270570e97a","parentId":"4f4ad20c7589b5410055"},{"name":"Data View Transform","component":"Report Canvas","start":"2019-06-26T09:46:42.683Z","end":"2019-06-26T09:46:42.684Z","id":"3d1f1275c5e60e2387d7","parentId":"00c7257f7c270570e97a"},{"name":"Query Generation","component":"Report Canvas","start":"2019-06-26T09:46:42.618Z","end":"2019-06-26T09:46:42.619Z","id":"aa1ee88180dc08d344d3","parentId":"ddeb60c0055ae5117113"},{"name":"Execute Semantic Query","component":"DSE","start":"2019-06-26T09:46:42.665Z","end":"2019-06-26T09:46:42.672Z","id":"5e13d473-6a2b-452b-9ca8-84c70e7fcdf4","parentId":"ddeb60c0055ae5117113"},{"name":"Execute DAX Query","component":"DSE","start":"2019-06-26T09:46:42.668Z","end":"2019-06-26T09:46:42.672Z","id":"af473852-aa88-4f43-b379-a841b2a8cee9","parentId":"5e13d473-6a2b-452b-9ca8-84c70e7fcdf4","metrics":{"QueryText":"EVALUATE\r\n TOPN(101, VALUES('Sources'[Source file name]), 'Sources'[Source file name], 1)\r\n\r\nORDER BY\r\n 'Sources'[Source file name]","RowCount":8}},{"name":"Execute Query","component":"AS","start":"2019-06-26T09:46:42.670Z","end":"2019-06-26T09:46:42.670Z","id":"D8C45547-7EC0-43A1-B33B-2FABBED74ECC","parentId":"af473852-aa88-4f43-b379-a841b2a8cee9"},{"name":"Serialize Rowset","component":"AS","start":"2019-06-26T09:46:42.670Z","end":"2019-06-26T09:46:42.670Z","id":"A4D76E75-1320-49EC-919A-F9B2624AB3F2","parentId":"D8C45547-7EC0-43A1-B33B-2FABBED74ECC"},{"name":"Visual Container Lifecycle","component":"Report Canvas","start":"2019-06-26T09:46:42.607Z","end":"2019-06-26T09:46:42.702Z","id":"0e637d6ab00791aad5dc","metrics":{"status":"finished","visualTitle":"Average of Duration in second by Event component"}},{"name":"Query","component":"Report Canvas","start":"2019-06-26T09:46:42.607Z","end":"2019-06-26T09:46:42.695Z","id":"d328a2280ea702328479","parentId":"0e637d6ab00791aad5dc"},{"name":"Render","component":"Report Canvas","start":"2019-06-26T09:46:42.694Z","end":"2019-06-26T09:46:42.702Z","id":"463a184031590cbdd81b","parentId":"0e637d6ab00791aad5dc"},{"name":"Data View Transform","component":"Report Canvas","start":"2019-06-26T09:46:42.697Z","end":"2019-06-26T09:46:42.698Z","id":"6a9e1b677c169a6de00b","parentId":"463a184031590cbdd81b"},{"name":"Query Generation","component":"Report Canvas","start":"2019-06-26T09:46:42.619Z","end":"2019-06-26T09:46:42.621Z","id":"8b07662b3a29e8dc6800","parentId":"d328a2280ea702328479"},{"name":"Execute Semantic Query","component":"DSE","start":"2019-06-26T09:46:42.665Z","end":"2019-06-26T09:46:42.673Z","id":"73e37c36-c829-4f02-823b-fb73a2233178","parentId":"d328a2280ea702328479"},{"name":"Execute DAX Query","component":"DSE","start":"2019-06-26T09:46:42.668Z","end":"2019-06-26T09:46:42.673Z","id":"c8d980cf-0e50-447d-855a-43ce4efec94d","parentId":"73e37c36-c829-4f02-823b-fb73a2233178","metrics":{"QueryText":"EVALUATE\r\n TOPN(\r\n 1002,\r\n SUMMARIZECOLUMNS(\r\n 'Attributes'[Event component],\r\n \"AverageDuration_in_second\", CALCULATE(AVERAGE('Attributes'[Duration in second]))\r\n ),\r\n [AverageDuration_in_second],\r\n 0,\r\n 'Attributes'[Event component],\r\n 1\r\n )\r\n\r\nORDER BY\r\n [AverageDuration_in_second] DESC, 'Attributes'[Event component]","RowCount":3}},{"name":"Execute Query","component":"AS","start":"2019-06-26T09:46:42.670Z","end":"2019-06-26T09:46:42.673Z","id":"3F0173F8-E264-4F12-BA89-D5F4970725E7","parentId":"c8d980cf-0e50-447d-855a-43ce4efec94d"},{"name":"Serialize Rowset","component":"AS","start":"2019-06-26T09:46:42.673Z","end":"2019-06-26T09:46:42.673Z","id":"63DEC83B-9498-44C8-AED8-42702CB81A8D","parentId":"3F0173F8-E264-4F12-BA89-D5F4970725E7"},{"name":"Visual Container Lifecycle","component":"Report Canvas","start":"2019-06-26T09:46:42.608Z","end":"2019-06-26T09:46:42.730Z","id":"28f4da8fd13884ebb507","metrics":{"status":"finished","visualTitle":"Average of Duration in second by Event name and Event component"}},{"name":"Query","component":"Report Canvas","start":"2019-06-26T09:46:42.608Z","end":"2019-06-26T09:46:42.716Z","id":"a65d5baf00d59810b06d","parentId":"28f4da8fd13884ebb507"},{"name":"Render","component":"Report Canvas","start":"2019-06-26T09:46:42.716Z","end":"2019-06-26T09:46:42.730Z","id":"36e8a808c4b70040268e","parentId":"28f4da8fd13884ebb507"},{"name":"Data View Transform","component":"Report Canvas","start":"2019-06-26T09:46:42.717Z","end":"2019-06-26T09:46:42.719Z","id":"db8658f0dd3873b18360","parentId":"36e8a808c4b70040268e"},{"name":"Query Generation","component":"Report Canvas","start":"2019-06-26T09:46:42.621Z","end":"2019-06-26T09:46:42.622Z","id":"61a0614382d084817bcd","parentId":"a65d5baf00d59810b06d"},{"name":"Execute Semantic Query","component":"DSE","start":"2019-06-26T09:46:42.665Z","end":"2019-06-26T09:46:42.682Z","id":"79d5cfec-127a-437b-b19e-d96d4f5acf3f","parentId":"a65d5baf00d59810b06d"},{"name":"Execute DAX Query","component":"DSE","start":"2019-06-26T09:46:42.669Z","end":"2019-06-26T09:46:42.681Z","id":"d4ea411c-c68f-4294-aaf6-3be4fa459d03","parentId":"79d5cfec-127a-437b-b19e-d96d4f5acf3f","metrics":{"QueryText":"DEFINE\r\n VAR __DS0Core = \r\n SUMMARIZECOLUMNS(\r\n 'Attributes'[Event name],\r\n ROLLUPADDISSUBTOTAL('Attributes'[Event component], \"IsGrandTotalColumnTotal\"),\r\n \"AverageDuration_in_second\", CALCULATE(AVERAGE('Attributes'[Duration in second]))\r\n )\r\n\r\n VAR __DS0CoreOnlyOutputTotals = \r\n SELECTCOLUMNS(\r\n KEEPFILTERS(FILTER(KEEPFILTERS(__DS0Core), [IsGrandTotalColumnTotal] = FALSE)),\r\n \"'Attributes'[Event name]\", 'Attributes'[Event name],\r\n \"'Attributes'[Event component]\", 'Attributes'[Event component],\r\n \"AverageDuration_in_second\", [AverageDuration_in_second]\r\n )\r\n\r\n VAR __DS0CoreTableByDM0 = \r\n SELECTCOLUMNS(\r\n KEEPFILTERS(FILTER(KEEPFILTERS(__DS0Core), [IsGrandTotalColumnTotal] = TRUE)),\r\n \"'Attributes'[Event name]\", 'Attributes'[Event name],\r\n \"SortBy_DM0_0\", [AverageDuration_in_second]\r\n )\r\n\r\n VAR __DS0PrimaryWithSortColumns = \r\n NATURALLEFTOUTERJOIN(\r\n SUMMARIZE(__DS0Core, 'Attributes'[Event name]),\r\n __DS0CoreTableByDM0\r\n )\r\n\r\n VAR __DS0Primary = \r\n TOPN(201, __DS0PrimaryWithSortColumns, [SortBy_DM0_0], 0, 'Attributes'[Event name], 1)\r\n\r\n VAR __DS0Secondary = \r\n TOPN(\r\n 62,\r\n SUMMARIZE(__DS0CoreOnlyOutputTotals, 'Attributes'[Event component]),\r\n 'Attributes'[Event component],\r\n 1\r\n )\r\n\r\nEVALUATE\r\n __DS0Secondary\r\n\r\nORDER BY\r\n 'Attributes'[Event component]\r\n\r\nEVALUATE\r\n NATURALLEFTOUTERJOIN(\r\n __DS0Primary,\r\n SUBSTITUTEWITHINDEX(\r\n __DS0CoreOnlyOutputTotals,\r\n \"ColumnIndex\",\r\n __DS0Secondary,\r\n 'Attributes'[Event component],\r\n ASC\r\n )\r\n )\r\n\r\nORDER BY\r\n [SortBy_DM0_0] DESC, 'Attributes'[Event name], [ColumnIndex]","RowCount":13}},{"name":"Execute Query","component":"AS","start":"2019-06-26T09:46:42.673Z","end":"2019-06-26T09:46:42.680Z","id":"F2CC4AED-5D83-4F64-9FD1-941B655DE695","parentId":"d4ea411c-c68f-4294-aaf6-3be4fa459d03"},{"name":"Serialize Rowset","component":"AS","start":"2019-06-26T09:46:42.680Z","end":"2019-06-26T09:46:42.680Z","id":"D55C90D9-7B48-4019-9856-2A472DBC0AE7","parentId":"F2CC4AED-5D83-4F64-9FD1-941B655DE695"}]}
I don't clearly understand how (based on the example I provided), we come from:
DATA FROM PERFORMANCE ANALYZER GUI | |
Name | Duration (ms) |
Slicer | 84 |
DAX query | 4 |
Visual display | 10 |
Other | 70 |
to:
DATA FROM JSON FILE | ||||
Metric Visual Tile | Metric Source Label | Component | Name | Duration (ms) |
UserAction_Refresh | Report Canvas | User Action | / | |
Slicer | Report Canvas | Visual Container Lifecycle | 84 | |
Report Canvas | Render | 10 | ||
Report Canvas | Query | 74 | ||
Report Canvas | Data View Transform | 1 | ||
Report Canvas | Query Generation | 1 | ||
DSE | Execute Semantic Query | 7 | ||
DSE | Execute DAX Query | 4 | ||
AS | Execute Query | 0 | ||
AS | Serialize Rowset | 0 |
and also, where to find a definition of Report Canvas/DSE/AS/Visual Container Lifecycle and all others?
Thanks!
Loïs
Currently there's no doc which can explain every fields in the exported json file. I would suggest you to submit your idea here to let power bi team know your requirement.
Regards,
Jimmy Tao
Hi @v-yuta-msft,
I also added an comment on the MicrosoftDoc GitHub since it's linked to the MSDN doc!
https://github.com/MicrosoftDocs/powerbi-docs/issues/1210
Regards,
Lois
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.
User | Count |
---|---|
110 | |
80 | |
66 | |
53 | |
52 |
User | Count |
---|---|
121 | |
117 | |
77 | |
64 | |
63 |