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
Börja med en tom arbetsbok i redigeringsläge.
Välj Lägg till parametrar>Lägg till parameter.
I det nya parameterfönstret som öppnas anger du:
- Parameternamn:
Environment
- Parametertyp:
Drop down
- Krävs:
checked
- Tillåt flera val:
unchecked
- Hämta data från:
JSON
- Parameternamn:
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 } ]
Välj Uppdatera.
Välj Spara för att skapa parametern.
Parametern Miljö är en listruta med de tre värdena.
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" }
]
Skapa en dynamisk listruteparameter
Börja med en tom arbetsbok i redigeringsläge.
Välj Lägg till parametrar>Lägg till parameter.
I det nya parameterfönstret som öppnas anger du:
- Parameternamn:
RequestName
- Parametertyp:
Drop down
- Krävs:
checked
- Tillåt flera val:
unchecked
- Hämta data från:
Query
- Parameternamn:
I textblocket JSON-indata infogar du det här JSON-kodfragmentet:
requests | summarize by name | order by name asc
Välj Kör fråga.
Välj Spara för att skapa parametern.
Parametern RequestName är en listruta med namnen på alla begäranden i appen.
Referera till en listruteparameter
Du kan referera till listruteparametrar.
I KQL
Välj Lägg till fråga för att lägga till en frågekontroll och välj sedan en Application Insights-resurs.
I KQL-redigeraren anger du följande kodfragment:
requests | where name == '{RequestName}' | summarize Requests = count() by bin(timestamp, 1h)
Kodfragmentet utökar frågeutvärderingstiden till:
requests | where name == 'GET Home/Index' | summarize Requests = count() by bin(timestamp, 1h)
Kör frågan för att se resultatet. Du kan också rendera det som ett diagram.
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
Alternativ för listruteparameter
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:
Särskilda listrutor
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.
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
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för