Listruteparametrar för arbetsbok

Med hjälp av listruteparametrar kan du samla in ett eller flera indatavärden från en känd uppsättning. Du kan till exempel använda en listruteparameter för att välja en av appens begäranden. Listruteparametrar ger också ett användarvänligt sätt att samla in godtyckliga indata från användare. Listruteparametrar är särskilt användbara för att aktivera filtrering i dina interaktiva rapporter.

Det enklaste sättet att ange en listruteparameter är genom att ange en statisk lista i parameterinställningen. Ett mer intressant sätt är att hämta listan dynamiskt via en KQL-fråga. Du kan också ange om det är enstaka eller flera val med hjälp av parameterinställningar. Om det är flera val kan du ange hur resultatuppsättningen ska formateras, till exempel som avgränsare eller citattecken.

Skapa en statisk listruteparameter

  1. Börja med en tom arbetsbok i redigeringsläge.

  2. Välj Lägg till parametrar>Lägg till parameter.

  3. I det nya parameterfönstret som öppnas anger du:

    1. Parameternamn: Environment
    2. Parametertyp: Drop down
    3. Krävs: checked
    4. Tillåt flera val: unchecked
    5. Hämta data från: JSON
  4. I textblocket JSON-indata infogar du det här JSON-kodfragmentet:

    [
        { "value":"dev", "label":"Development" },
        { "value":"ppe", "label":"Pre-production" },
        { "value":"prod", "label":"Production", "selected":true }
    ]
    
  5. Välj Uppdatera.

  6. Välj Spara för att skapa parametern.

  7. Parametern Miljö är en listruta med de tre värdena.

    Screenshot that shows the creation of a static dropdown parameter.

Skapa en statisk listruta med grupper av objekt

Om frågeresultatet/JSON innehåller ett group fält visar listrutan grupper med värden. Följ föregående exempel, men använd följande JSON i stället:

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

Skapa en dynamisk listruteparameter

  1. Börja med en tom arbetsbok i redigeringsläge.

  2. Välj Lägg till parametrar>Lägg till parameter.

  3. I det nya parameterfönstret som öppnas anger du:

    1. Parameternamn: RequestName
    2. Parametertyp: Drop down
    3. Krävs: checked
    4. Tillåt flera val: unchecked
    5. Hämta data från: Query
  4. I textblocket JSON-indata infogar du det här JSON-kodfragmentet:

        requests
        | summarize by name
        | order by name asc
    
  5. Välj Kör fråga.

  6. Välj Spara för att skapa parametern.

  7. Parametern RequestName är en listruta med namnen på alla begäranden i appen.

    Screenshot that shows the creation of a dynamic dropdown parameter.

Referera till en listruteparameter

Du kan referera till listruteparametrar.

I KQL

  1. Välj Lägg till fråga för att lägga till en frågekontroll och välj sedan en Application Insights-resurs.

  2. I KQL-redigeraren anger du följande kodfragment:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Kodfragmentet utökar frågeutvärderingstiden till:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Kör frågan för att se resultatet. Du kan också rendera det som ett diagram.

    Screenshot that shows a dropdown parameter referenced in KQL.

Parametervärde, etikett, markering och grupp

Frågan som används i föregående dynamiska listruta returnerar en lista med värden som återges troget i listrutan. Men vad händer om du vill att ett annat visningsnamn eller ett av namnen ska väljas? Listruteparametrar använder kolumnerna value, label, selection och group för den här funktionen.

Följande exempel visar hur du hämtar en lista över Application Insights-beroenden vars visningsnamn är formaterade med en emoji, har den första markerad och grupperas efter åtgärdsnamn:

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.

Parameter Description Exempel
{DependencyName} Det valda värdet GET fabrikamaccount
{DependencyName:label} Den markerade etiketten 🌐 GET fabrikamaccount
{DependencyName:value} Det valda värdet GET fabrikamaccount

Flera markeringar

Exemplen hittills anger uttryckligen att parametern endast ska välja ett värde i listrutan. Listruteparametrar stöder också flera val. Om du vill aktivera det här alternativet markerar du kryssrutan Tillåt flera val .

Du kan ange formatet för resultatuppsättningen via avgränsare och Citat med inställningar. Standardvärdet returnerar värdena som en samling i form av a, b, c. Du kan också begränsa antalet val.

KQL som refererar till parametern måste ändras för att fungera med resultatets format. Det vanligaste sättet att aktivera det är via operatorn in .

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

Det här exemplet visar listruteparametern för flera val på jobbet:

Screenshot that shows a multi-select dropdown parameter.

Med listruteparametrar kan du också ange särskilda värden som också visas i listrutan:

  • Vilken som helst
  • Tre
  • ...
  • 100
  • Alla anpassade gränser
  • Alla

När dessa specialobjekt väljs anges parametervärdet automatiskt till det specifika antalet objekt eller alla värden.

Specialhölje alla

När du väljer alternativet Alla visas ett extra fält som gör att du kan ange att ett särskilt värde ska användas för parametern om alternativet Alla är markerat. Det här specialvärdet är användbart för fall där "Alla" kan vara ett stort antal objekt och kan generera en mycket stor fråga.

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.

I det här specifika fallet används strängen [] i stället för ett värde. Den här strängen kan användas för att generera en tom matris i loggfrågan, till exempel:

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

Om alla objekt är markerade är []värdet Selection för , vilket skapar en tom matris för variabeln selection i frågan. Om inga värden har valts blir värdet Selection för en tom sträng, vilket också resulterar i en tom matris. Om några värden har valts formateras de i den dynamiska delen av frågan, vilket gör att matrisen har dessa värden. Du kan sedan testa för 0 för array_length att filtret inte ska tillämpas eller använda operatorn in för att filtrera på värdena i matrisen.

Andra vanliga exempel använder *som specialmarkörvärde när en parameter krävs och testar sedan med:

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

Nästa steg

Lär dig mer om vilka typer av visualiseringar du kan använda för att skapa omfattande visuella rapporter med Azure-arbetsböcker.