azureazure-devopsazure-monitor-workbooks

Does grid row click actually work in Azure Workbooks?


I have a query in my workbook that has the counts of successful and failed API calls and what I want to do is, allow the user to click on a line within the grid and grab two values from the row as parameters, in order to use them to display all the detail lines in another query.

I found the following "grid row click" example, and I thought is was perfect, but for some reason, it is not populating the parameters for the detail query.

Set up a grid row click

This is my count query:

let funcRequests = requests
| where (cloud_RoleName contains "xxxxxapi-dev")
| project cloud_RoleName, name, success, funcId = tostring(customDimensions.InvocationId);
let funcExceptions = exceptions
| extend funcId = tostring(customDimensions.InvocationId), errorMessage = customDimensions.FormattedMessage
| project funcId, errorMessage
| join
(
    funcRequests
) on funcId
| project funcId, cloud_RoleName, name, success, errorMessage;
funcRequests
| join kind=leftouter
(
    funcExceptions
) on funcId
| summarize totals = count(), successes = countif(success == "True" and errorMessage == ""), failures = countif(success <> "True" or errorMessage <> "") by 
    service = cloud_RoleName, name
| project Site=service,
    ["Operation Name"] = name, 
    ["Count"] = totals , 
    ["Success"] = successes, 
    ["Failure"] = failures, 
    Status = iif(failures>0,"❌","✔️");

I set up two export parameters in the Advanced Settings tab, one for "service" and one for "name".

enter image description here

I then added the parameter names to my detail query and got a "Query could not run because some parameters are not set. Please set _service, _name"

This is the detail query:

let funcRequests = requests
| where (cloud_RoleName == '{_service}' and operation_Name == '{_name}')
| project cloud_RoleName, name, success, funcId = tostring(customDimensions.InvocationId), details = itemId;
let funcExceptions = exceptions
| extend funcId = tostring(customDimensions.InvocationId), errorMessage = customDimensions.FormattedMessage
| project funcId, errorMessage
| join
(
    funcRequests
) on funcId
| project funcId, cloud_RoleName, name, success, errorMessage;
funcRequests
| join kind=leftouter
(
    funcExceptions
) on funcId
| project Site=cloud_RoleName,
    ["Operation Name"] = name, 
    Status = iif(success=="False","❌","✔️"),
    ["Details"]=details;

Obviously, I' missing something, but not sure what it is. Any suggestions would be appreciated!


Solution

  • you have the workbooks set up to export a column named "service" as the parameter _service and a column named "name" as a parameter named _name

    but you don't have columns with those names.

    the projection at the end of your query:

     project Site=service,
        ["Operation Name"] = name, 
    

    renamed the "service" column to "Site" and the "name" column to "Operation Name"

    column names

    so when you select a row, it does exactly what you said, and exports no values for those parameters because they have no values in those rows.

    if i do this, to add new ones with the right column names: also exporting the correct column names

    i get the right results: column names have to match up