Condividi tramite


Parametri dell'elenco a discesa della cartella di lavoro

Usando i parametri a discesa, è possibile raccogliere uno o più valori di input da un set noto. Ad esempio, puoi usare un parametro a discesa per selezionare una delle richieste dell'app. I parametri a discesa forniscono anche un modo intuitivo per raccogliere input arbitrari dagli utenti. I parametri a discesa sono particolarmente utili per abilitare il filtro nei report interattivi.

Il modo più semplice per specificare un parametro a discesa consiste nel fornire un elenco statico nell'impostazione del parametro. Un modo più interessante consiste nell'ottenere l'elenco in modo dinamico tramite una query KQL. È anche possibile specificare se è una selezione singola o multipla usando le impostazioni dei parametri. Se è multi-selezione, è possibile specificare la modalità di formattazione del set di risultati, ad esempio come delimitatore o virgoletta.

Creare un parametro a discesa statico

  1. Iniziare con una cartella di lavoro vuota in modalità di modifica.

  2. Selezionare Aggiungi parametri>Aggiungi parametro.

  3. Nel nuovo riquadro dei parametri visualizzato immettere:

    1. Nome parametro: Environment
    2. Tipo di parametro: Drop down
    3. Obbligatorio: checked
    4. Consenti selezioni multiple: unchecked
    5. Ottenere dati da: JSON
  4. Nel blocco di testo Input JSON inserire questo frammento JSON:

    [
        { "value":"dev", "label":"Development" },
        { "value":"ppe", "label":"Pre-production" },
        { "value":"prod", "label":"Production", "selected":true }
    ]
    
  5. Selezionare Aggiorna.

  6. Selezionare Salva per creare il parametro.

  7. Il parametro Environment è un elenco a discesa con i tre valori.

    Screenshot that shows the creation of a static dropdown parameter.

Creare un elenco a discesa statico con gruppi di elementi

Se il risultato della query/JSON contiene un group campo, nell'elenco a discesa vengono visualizzati gruppi di valori. Seguire l'esempio precedente, ma usare invece il codice JSON seguente:

[
    { "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.

Creare un parametro a discesa dinamico

  1. Iniziare con una cartella di lavoro vuota in modalità di modifica.

  2. Selezionare Aggiungi parametri>Aggiungi parametro.

  3. Nel nuovo riquadro dei parametri visualizzato immettere:

    1. Nome parametro: RequestName
    2. Tipo di parametro: Drop down
    3. Obbligatorio: checked
    4. Consenti selezioni multiple: unchecked
    5. Ottenere dati da: Query
  4. Nel blocco di testo Input JSON inserire questo frammento JSON:

        requests
        | summarize by name
        | order by name asc
    
  5. Selezionare Esegui query.

  6. Selezionare Salva per creare il parametro.

  7. Il parametro RequestName è un elenco a discesa con i nomi di tutte le richieste nell'app.

    Screenshot that shows the creation of a dynamic dropdown parameter.

Fare riferimento a un parametro a discesa

È possibile fare riferimento ai parametri a discesa.

In KQL

  1. Selezionare Aggiungi query per aggiungere un controllo query e quindi selezionare una risorsa di Application Insights.

  2. Nell'editor KQL immettere questo frammento di codice:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Il frammento di codice si espande al tempo di valutazione della query per:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Eseguire la query per visualizzare i risultati. Facoltativamente, eseguirne il rendering come grafico.

    Screenshot that shows a dropdown parameter referenced in KQL.

Valore del parametro, etichetta, selezione e gruppo

La query utilizzata nel parametro a discesa dinamico precedente restituisce un elenco di valori di cui viene eseguito il rendering fedelmente nell'elenco a discesa. Ma cosa accade se si desidera selezionare un nome visualizzato diverso o uno dei nomi? I parametri a discesa usano le colonne value, label, selection e group per questa funzionalità.

L'esempio seguente mostra come ottenere un elenco di dipendenze di Application Insights i cui nomi visualizzati sono in stile con un'emoji, ha il primo selezionato e viene raggruppato in base ai nomi delle operazioni:

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.

Parametro Descrizione Esempio
{DependencyName} Valore selezionato GET fabrikamaccount
{DependencyName:label} Etichetta selezionata 🌐 GET fabrikamaccount
{DependencyName:value} Valore selezionato GET fabrikamaccount

Selezione multipla

Gli esempi finora impostano in modo esplicito il parametro per selezionare un solo valore nell'elenco a discesa. I parametri a discesa supportano anche la selezione multipla. Per abilitare questa opzione, selezionare la casella di controllo Consenti selezioni multiple.

È possibile specificare il formato del set di risultati tramite delimitatoree virgolette con le impostazioni . Il valore predefinito restituisce i valori come raccolta sotto forma di a, b, c. È anche possibile limitare il numero di selezioni.

Il KQL che fa riferimento al parametro deve essere modificato per funzionare con il formato del risultato. Il modo più comune per abilitarlo è tramite l'operatore in .

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

Questo esempio mostra il parametro a discesa a selezione multipla sul luogo di lavoro:

Screenshot that shows a multi-select dropdown parameter.

I parametri a discesa consentono anche di specificare valori speciali che verranno visualizzati anche nell'elenco a discesa:

  • Uno qualsiasi
  • Tre
  • ...
  • Qualsiasi 100
  • Qualsiasi limite personalizzato
  • Tutte le date

Quando questi elementi speciali vengono selezionati, il valore del parametro viene impostato automaticamente sul numero specifico di elementi o su tutti i valori.

Maiuscole e minuscole speciali

Quando si seleziona l'opzione Tutto , viene visualizzato un campo aggiuntivo che consente di specificare che verrà usato un valore speciale per il parametro se è selezionata l'opzione Tutto . Questo valore speciale è utile per i casi in cui "Tutto" potrebbe essere un numero elevato di elementi e potrebbe generare una query molto grande.

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.

In questo caso specifico, la stringa [] viene usata invece di un valore. Questa stringa può essere usata per generare una matrice vuota nella query dei log, ad esempio:

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

Se vengono selezionati tutti gli elementi, il valore di Selection è [], producendo una matrice vuota per la selection variabile nella query. Se non sono selezionati valori, il valore di Selection sarà una stringa vuota, con conseguente matrice vuota. Se sono selezionati valori, vengono formattati all'interno della parte dinamica della query, causando la presenza di tali valori nella matrice. È quindi possibile verificare per 0 per array_length fare in modo che il filtro non venga applicato o usare l'operatore in per filtrare i valori nella matrice.

Altri esempi comuni usano '*' come valore di marcatore speciale quando è necessario un parametro e quindi testa con:

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

Passaggi successivi

Informazioni sui tipi di visualizzazioni che è possibile usare per creare report visivi avanzati con Cartelle di lavoro di Azure.