活頁簿下拉式清單參數

您可以使用下拉式清單參數,從已知集合收集一或多個輸入值。 例如,您可以使用下拉式清單參數來選取其中一個應用程式的要求。 下拉式清單參數提供使用者易記的方式,以收集使用者的任意輸入。 下拉式清單參數在互動式報告中啟用篩選特別實用。

指定下拉式清單參數最簡單的方式是在參數設定中提供靜態清單。 更有趣的方法是透過 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. [環境] 參數會是具有三個值的下拉式清單。

    Screenshot that shows the creation of a static dropdown parameter.

建立具有項目群組的靜態下拉式清單

如果您的查詢結果/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" }
]

Screenshot that shows an example of a grouped dropdown list.

建立動態下拉式清單參數

  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 參數將是一個下拉式清單,其中包含應用程式中所有請求的名稱。

    Screenshot that shows the creation of a dynamic dropdown parameter.

參考下拉式清單參數

您可以參考下拉式清單參數。

在 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. 執行查詢以查看結果。 選擇性地將其轉譯為圖表。

    Screenshot that shows a dropdown parameter referenced in 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

Screenshot that shows a dropdown parameter using value, label, selection, and group options.

參數 描述 範例
{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

此範例顯示工作的多重選取下拉式清單參數:

Screenshot that shows a multi-select dropdown parameter.

下拉式清單參數也可讓您指定也會出現在下拉式清單中的特殊值:

  • 任一個
  • 任三個
  • ...
  • 任 100 個
  • 任何自訂限制
  • 全部

選取這些特殊項目時,參數值會自動設定為特定項目數目,或所有值。

特殊大小寫全部

當您選取 [全部] 選項時,會出現額外的欄位,這可讓您指定選取 [所有] 選項時,參數將使用的特殊值。 這個特殊值適用於「全部」可能是大量項目,而且可能會產生大量查詢的情況。

Screenshot of the New Parameter window in the Azure portal. The All option is selected and the All option and Select All value field are highlighted.

在此特定案例中,會使用字串 [] 而不是值。 此字串可用來在記錄查詢中產生空陣列,例如:

let selection = dynamic([{Selection}]);
SomeQuery 
| where array_length(selection) == 0 or SomeField in (selection)

如果選取所有項目,Selection 的值就會 [],為查詢中的 selection 變數產生空陣列。 如果未選取任何值,則 Selection 的值會是空字串,也會產生空陣列。 如果選取任何值,這些值就會格式化在查詢的動態部分內,導致陣列具有這些值。 然後,您可以測試 0 的 array_length,以不套用篩選,或使用 in 運算子來篩選陣列中的值。

當需要參數時,其他常見範例會使用『*』作為特殊標記值,然後使用下列專案進行測試:

| where "*" in ({Selection}) or SomeField in ({Selection})

下一步

了解您可以使用 Azure 活頁簿建立豐富視覺效果之報表的視覺效果類型