你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

工作簿下拉列表参数

使用下拉列表参数,可以从已知集中收集一个或多个输入值。 例如,可以使用下拉列表参数选择其中一个应用请求。 下拉列表参数还提供从用户收集任意输入的用户友好方式。 在交互式报表中启用筛选功能时,下拉列表参数特别有用。

指定下拉列表参数的最简单方法是在参数设置中提供一个静态列表。 更有意思的方法是通过 KQL 查询动态获取列表。 还可以使用参数设置指定是单选还是多选。 如果多选,则可以指定结果集的格式,例如,作为分隔符或引号。

创建静态下拉列表参数

  1. 从编辑模式下的空工作簿开始操作。

  2. 选择“添加参数”“添加参数”>。

  3. 在打开的新参数窗格中,输入:

    1. 参数名称Environment
    2. 参数类型Drop down
    3. 必需checked
    4. 允许多选unchecked
    5. 从以下位置获取数据JSON
  4. 在“JSON 输入”文本块中,插入以下 JSON 片段:

    [
        { "value":"dev", "label":"Development" },
        { "value":"ppe", "label":"Pre-production" },
        { "value":"prod", "label":"Production", "selected":true }
    ]
    
  5. 选择“更新”。

  6. 选择“保存”以创建参数。

  7. Environment 参数将是包含三个值的下拉列表。

    显示如何创建静态下拉列表参数的屏幕截图。

创建包含项组的静态下拉列表

如果查询结果/JSON 包含 group 字段,则下拉列表将显示值组。 请遵循上面的示例,但改用以下 JSON:

[
    { "value":"dev", "label":"Development", "group":"Development" },
    { "value":"dev-cloud", "label":"Development (Cloud)", "group":"Development" },
    { "value":"ppe", "label":"Pre-production", "group":"Test" },
    { "value":"ppe-test", "label":"Pre-production (Test)", "group":"Test" },
    { "value":"prod1", "label":"Prod 1", "selected":true, "group":"Production" },
    { "value":"prod2", "label":"Prod 2", "group":"Production" }
]

显示分组下拉列表示例的屏幕截图。

创建动态下拉列表参数

  1. 从编辑模式下的空工作簿开始操作。

  2. 选择“添加参数”“添加参数”>。

  3. 在打开的新参数窗格中,输入:

    1. 参数名称RequestName
    2. 参数类型Drop down
    3. 必需checked
    4. 允许多选unchecked
    5. 从以下位置获取数据Query
  4. 在“JSON 输入”文本块中,插入以下 JSON 片段:

        requests
        | summarize by name
        | order by name asc
    
  5. 选择“运行查询”。

  6. 选择“保存”以创建参数。

  7. RequestName 参数将是包含应用中所有请求的名称的下拉列表。

    显示如何创建动态下拉列表参数的屏幕截图。

引用下拉列表参数

可以引用下拉列表参数。

在 KQL 中

  1. 选择“添加查询”以添加查询控件,然后选择 Application Insights 资源。

  2. 在 KQL 编辑器中输入此片段:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. 此片段可根据查询评估时间扩展为:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. 运行查询以查看结果。 (可选)以图表形式呈现结果。

    显示 KQL 中引用的下拉列表参数的屏幕截图。

参数值、标签、选项和组

上述动态下拉列表参数中使用的查询只返回下拉列表中真正呈现的值列表。 但如果需要不同的显示名称,或者要选择其中的一个显示名称,该怎么办? 下拉列表参数使用此功能的值、标签、选项和组列。

以下示例演示如何获取已使用表情符号设置其显示名称样式的 Application Insights 依赖项的列表,选择第一个依赖项,并按操作名称分组依赖项:

dependencies
| summarize by operation_Name, name
| where name !contains ('.')
| order by name asc
| serialize Rank = row_number()
| project value = name, label = strcat('🌐 ', name), selected = iff(Rank == 1, true, false), group = operation_Name

显示使用值、标签、选项和组选项的下拉列表参数的屏幕截图。

参数 说明 示例
{DependencyName} 选定值 GET fabrikamaccount
{DependencyName:label} 选定标签 🌐 GET fabrikamaccount
{DependencyName:value} 选定值 GET fabrikamaccount

多重选择

目前为止,示例将参数显式设置为仅选择下拉列表中的一个值。 下拉列表参数还支持多个选择。 若要启用此选项,请选择“允许多个选择”复选框。

可以通过带设置的分隔符引号指定结果集的格式。 默认设置仅以集合形式返回采用以下格式的值:abc。 还可以限制所选内容的数量。

需要更改引用参数的 KQL 才能使用结果的格式。 做到这一点的最常用方式是使用 in 运算符。

dependencies
| where name in ({DependencyName})
| summarize Requests = count() by bin(timestamp, 1h), name

此示例演示了工作中的多选下拉列表参数:

显示多选下拉列表参数的屏幕截图。

后续步骤

Azure 工作簿入门