Workbooks allow authors to create interactive reports and experiences for their consumers. Interactivity is supported in a number of ways.
When a workbook user updates a parameter, any control that uses the parameter automatically refreshes and redraws to reflect the new state. This is how a lot of Azure portal reports support interactivity. Workbooks provides this in a very straight forward manner with minimal user effort.
Learn more about Parameters in Workbooks
Workbooks allow authors to construct scenarios where clicking a row in a grid updates subsequent charts based on the content of the row.
For instance, a user can have a grid that shows a list of requests and some stats like failure counts. They could setup it up such that clicking a row corresponding to a request, will result in detailed charts below updating to filter down to just that request.
-
Switch the workbook to edit mode by clicking on the Edit toolbar item.
-
Use the Add query link to add a log query control to the workbook.
-
Select the query type as Log, resource type (e.g. Application Insights) and the resources to target.
-
Use the Query editor to enter the KQL for your analysis
requests | summarize AllRequests = count(), FailedRequests = countif(success == false) by Request = name | order by AllRequests desc
-
Run query
to see the results -
Click on the Advanced Settings icon on the query footer (the icon looks like a gear). This opens up the advanced settings pane
-
Check the setting:
When an item is selected, export a parameter
- Field to export:
Request
- Parameter name:
SelectedRequest
- Default value:
All requests
- Field to export:
-
Click
Done Editing
. -
Add another query control using steps 2 and 3.
-
Use the Query editor to enter the KQL for your analysis
requests | where name == '{SelectedRequest}' or 'All Requests' == '{SelectedRequest}' | summarize ['{SelectedRequest}'] = count() by bin(timestamp, 1h)
-
Run query
to see the results. -
Change Visualization to
Area chart
-
Click on a row in the first grid. Note how the area chart below filters to the selected request.
The resulting reports looks like this in edit mode:
The image below shows a more elaborate interactive report in read mode based on the same principles. The report uses grid clicks to export parameters - which in turn is used in two charts and a text block.
It is sometimes desirable to export the entire contents of the selected row instead of just a particular column. In such cases, leave the Field to export
property unset in step 7.1 above. Workbooks will export the entire row contents as a json to the parameter.
On the referencing KQL control, use the todynamic
function to parse the json and access the individual columns.
Workbooks allow authors to add interactivity via a special kind of grid column renderer called a link renderer
. A link renderer converts a grid cell into a hyperlink based on the contents of the cell. Workbooks support many kinds of link renderers - including ones that allow opening resource overview blades, property bag viewers, App Insights search, usage, transaction tracing, etc.
- Switch the workbook to edit mode by clicking on the Edit toolbar item.
- Use the Add query link to add a log query control to the workbook.
- Select the query type as Log, resource type (e.g. Application Insights) and the resources to target.
- Use the Query editor to enter the KQL for your analysis
requests | summarize Count = count(), Sample = any(pack_all()) by Request = name | order by Count desc
Run query
to see the results- Click Column Settings to open the settings pane.
- In the Columns section, set:
- Sample - Column Renderer:
Link
, View to open:Cell Details
, Link Label:Sample
- Count - Column Renderer:
Bar
, Color palette:Blue
, Minimum value:0
- Request - Column Renderer:
Automatic
- Click Save and Close to apply changes
- Sample - Column Renderer:
- Click on one of the
Sample
link in the grid. This opens up a property pane with the details of a sampled request.
Link action | Action on click |
---|---|
Generic Details |
Shows the row values in a property grid context blade |
Cell Details |
Shows the cell value in a property grid context blade. Useful when the cell contains a dynamic type with information (e.g. json with request properties like location, role instance, etc.). |
Cell Details |
Shows the cell value in a property grid context blade. Useful when the cell contains a dynamic type with information (e.g. json with request properties like location, role instance, etc.). |
Custom Event Details |
Opens the Application Insights search details with the custom event id (itemId) in the cell |
* Details |
Similar to Custom Event Details, except for dependencies, exceptions, page views, requests and traces. |
Custom Event User Flows |
Opens the Application Insights User Flows experience pivoted on the custom event name in the cell |
* User Flows |
Similar to Custom Event User Flows except for exceptions, page views and requests |
User Timeline |
Opens the user timeline with the user id (user_Id) in the cell |
Session Timeline |
Opens the Application Insights search experience for the value in the cell (e.g. search for text 'abc' where abc is the value in the cell) |
Resource overview |
Open the resource's overview in the portal based on the resource id value in the cell |
Workbook allows users to make certain controls appear or disappear based on values of a parameters. This allows authors to have reports look different based on user input or telemetry state. An example is showing consumers just a summary when things are good but show full details when something is wrong.
- Follow the steps in the
Setting up interactivity on grid row click
section to setup two interactive controls. - Add a new parameter at the top:
- Name:
ShowDetails
- Parameter type:
Drop down
- Required:
checked
- Get data from:
JSON
- JSON Input:
["Yes", "No"]
- Save to commit changes.
- Name:
- Set parameter value to
Yes
- In the query control with the area chart, click the Advanced Settings icon (gear icon)
- Check the setting
Make this item conditionally visible
- This item is visible if
ShowDetails
parameter valueequals
Yes
- This item is visible if
- Click Done Editing to commit changes.
- Click Done Editing on the workbook tool bar to enter read mode.
- Switch the value of parameter
ShowDetails
toNo
. Notice that the chart below disappears.
The image below shows the visible case where ShowDetails
is Yes
The image below shows the hidden case where ShowDetails
is No