Delen via


Vervolgkeuzelijstsparameters voor werkmappen

Met behulp van vervolgkeuzelijstparameters kunt u een of meer invoerwaarden uit een bekende set verzamelen. U kunt bijvoorbeeld een vervolgkeuzelijst gebruiken om een van de aanvragen van uw app te selecteren. Vervolgkeuzelijstparameters bieden ook een gebruiksvriendelijke manier om willekeurige invoer van gebruikers te verzamelen. Vervolgkeuzelijstparameters zijn vooral handig bij het inschakelen van filters in uw interactieve rapporten.

De eenvoudigste manier om een vervolgkeuzelijst op te geven, is door een statische lijst op te geven in de parameterinstelling. Een interessantere manier is om de lijst dynamisch op te halen via een KQL-query. U kunt ook opgeven of het één of meerdere selecties is met behulp van parameterinstellingen. Als het meerdere selecties is, kunt u opgeven hoe de resultatenset moet worden opgemaakt, bijvoorbeeld als scheidingsteken of aanhalingsteken.

Wanneer u statische JSON-inhoud gebruikt of dynamische waarden ophaalt uit query's, staan vervolgkeuzelijstparameters maximaal vier gegevensvelden toe, in deze specifieke volgorde:

  1. value (vereist): de eerste kolom/het eerste veld in de gegevens wordt gebruikt als de letterlijke waarde van de parameter. In het geval van eenvoudige statische JSON-parameters kan het net zo eenvoudig zijn als de JSON-inhoud ["dev", "test", "prod"], waarmee een vervolgkeuzelijst van drie items met deze waarden wordt gemaakt als zowel de waarde als het label in de vervolgkeuzelijst. De naam van dit veld hoeft niet te zijn value, de vervolgkeuzelijst gebruikt het eerste veld in de gegevens, ongeacht de naam.

  2. label (optioneel): de tweede kolom/het tweede veld in de gegevens wordt gebruikt als de weergavenaam/het label van de parameter in de vervolgkeuzelijst. Als deze niet is opgegeven, wordt de waarde gebruikt als het label. De naam van dit veld hoeft niet te zijn label, de vervolgkeuzelijst gebruikt het tweede veld in de gegevens, ongeacht de naam.

  3. selected (optioneel): de derde kolom/het veld in de gegevens wordt gebruikt om op te geven welke waarde standaard moet worden geselecteerd. Als dit niet is opgegeven, worden er standaard geen items geselecteerd. Het selectiegedrag is gebaseerd op het JavaScript-concept 'falsy', dus waarden zoals 0, falseof nulllege tekenreeksen worden behandeld als niet geselecteerd. De naam van dit veld hoeft niet te zijn selected, de vervolgkeuzelijst gebruikt het derde veld in de gegevens, ongeacht de naam.

    Notitie

    Dit bepaalt alleen de standaardselectie , zodra een gebruiker waarden in de vervolgkeuzelijst heeft geselecteerd, worden deze door de gebruiker geselecteerde waarden gebruikt. Zelfs als een volgende query voor de parameter wordt uitgevoerd en nieuwe standaardwaarden retourneert. Als u wilt terugkeren naar de standaardselectie, kan het gebruik de optie Standaarditems gebruiken in de vervolgkeuzelijst, waarmee de standaardwaarden opnieuw worden opgeslagen en toegepast.

    Standaardwaarden worden alleen toegepast als er geen items zijn geselecteerd door de gebruiker.

    Als een volgende query items retourneert die geen eerder geselecteerde waarden bevatten, worden de ontbrekende waarden uit de selectie verwijderd. De geselecteerde items in de vervolgkeuzelijst worden het snijpunt van de items die door de query worden geretourneerd en de items die eerder zijn geselecteerd.

  4. group(optioneel): in tegenstelling tot de andere velden moet de groeperingskolom worden benoemd group en weergegeven na value, label en selected. Dit veld in de gegevens wordt gebruikt om de items in de vervolgkeuzelijst te groeperen. Als dit niet is opgegeven, wordt er geen groepering gebruikt. Als standaardselectie niet nodig is, moeten de gegevens/query nog steeds een selected veld retourneren in ten minste één object/rij, zelfs als alle waarden zijn false.

Notitie

Alle andere velden in de gegevens worden genegeerd door de vervolgkeuzelijstparameter. Het wordt aanbevolen om de inhoud te beperken tot alleen die velden die in de vervolgkeuzelijst worden gebruikt om ingewikkelde query's te voorkomen die gegevens retourneren die worden genegeerd.

Een statische vervolgkeuzelijst maken

  1. Begin met een lege werkmap in de bewerkingsmodus.

  2. Selecteer Parameters toevoegen parameter toevoegen>.

  3. Voer in het nieuwe parametervenster dat wordt geopend het volgende in:

    1. Parameternaam: Environment

    2. Parametertype: Drop down

    3. Vereist: checked

    4. Meerdere selecties toestaan: unchecked

    5. Gegevens ophalen uit: JSON of selecteer Query en selecteer de JSON gegevensbron.

      Met de JSON-gegevensbron kan de JSON-inhoud verwijzen naar eventuele bestaande parameters.

  4. Voeg in het tekstblok JSON-invoer dit JSON-fragment in:

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

  6. Selecteer Opslaan om de parameter te maken.

  7. De parameter Omgeving is een vervolgkeuzelijst met de drie waarden.

    Schermopname van het maken van een statische vervolgkeuzelijst.

Een statische vervolgkeuzelijst maken met groepen items

Als uw queryresultaat/JSON een group veld bevat, worden in de vervolgkeuzelijst groepen waarden weergegeven. Volg het voorgaande voorbeeld, maar gebruik in plaats daarvan de volgende 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" }
]

Schermopname van een voorbeeld van een gegroepeerde vervolgkeuzelijst.

Notitie

Wanneer u een group veld in uw query gebruikt, moet u ook een waarde voor label en selected velden opgeven.

Een dynamische vervolgkeuzelijst maken

  1. Begin met een lege werkmap in de bewerkingsmodus.

  2. Selecteer Parameters toevoegen parameter toevoegen>.

  3. Voer in het nieuwe parametervenster dat wordt geopend het volgende in:

    1. Parameternaam: RequestName
    2. Parametertype: Drop down
    3. Vereist: checked
    4. Meerdere selecties toestaan: unchecked
    5. Gegevens ophalen uit: Query
  4. Voeg in het tekstblok JSON-invoer dit JSON-fragment in:

        requests
        | summarize by name
        | order by name asc
    
  5. Selecteer Query uitvoeren.

  6. Selecteer Opslaan om de parameter te maken.

  7. De parameter RequestName is een vervolgkeuzelijst met de namen van alle aanvragen in de app.

    Schermopname van het maken van een dynamische vervolgkeuzelijst.

Voorbeeld: Aangepaste labels, standaard het eerste item selecteren en groeperen op bewerkingsnaam

De query die in de voorgaande dynamische vervolgkeuzelijst wordt gebruikt, retourneert een lijst met waarden die worden weergegeven in de vervolgkeuzelijst. Als u een andere weergavenaam wilt of de gebruiker de weergavenaam wilt laten selecteren, gebruikt u de waarde, het label, de selectie en de groepskolommen.

In het volgende voorbeeld ziet u hoe u een lijst met afzonderlijke Application Insights-afhankelijkheden kunt ophalen. De weergavenamen worden gestijld met een emoji, het eerste item is standaard geselecteerd en de items worden gegroepeerd op bewerkingsnamen:

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

Schermopname van een vervolgkeuzelijst met behulp van waarde-, label-, selectie- en groepsopties.

Naar een vervolgkeuzelijst-parameter verwijzen

U kunt overal verwijzen naar vervolgkeuzelijstparameters die kunnen worden gebruikt, waaronder het vervangen van de parameterwaarde in query's, visualisatie-instellingen, Markdown-tekstinhoud of andere plaatsen waar u een parameter als optie kunt selecteren.

In KQL

  1. Selecteer Query toevoegen om een querybeheer toe te voegen en selecteer vervolgens een Application Insights-resource.

  2. Voer in de KQL-editor dit fragment in:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Het fragment breidt de tijd voor queryevaluatie uit naar:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Selecteer de query Uitvoeren om de resultaten te bekijken. U kunt deze desgewenst weergeven als een grafiek.

    Schermopname van een vervolgkeuzelijst waarnaar wordt verwezen in KQL.

Parameter Description Voorbeeld
{DependencyName} De geselecteerde waarde GET fabrikamaccount
{DependencyName:value} De geselecteerde waarde (hetzelfde als hierboven) GET fabrikamaccount
{DependencyName:label} Het geselecteerde label 🌐 GET fabrikamaccount
{DependencyName:escape} De geselecteerde waarde, waarbij alle algemene aanhalingstekens worden vervangen wanneer ze zijn opgemaakt in query's GET fabrikamaccount

Meerdere selecties

In de voorbeelden tot nu toe is de parameter expliciet ingesteld om slechts één waarde in de vervolgkeuzelijst te selecteren. Vervolgkeuzelijstparameters ondersteunen ook meerdere selecties. Als u deze optie wilt inschakelen, schakelt u het selectievakje Meerdere selecties toestaan in.

U kunt de indeling van de resultatenset opgeven via het scheidingsteken en offerte met instellingen. , Standaard wordt (komma) gebruikt als scheidingsteken en ' (enkele aanhalingsteken) als aanhalingsteken. De standaardwaarde retourneert de waarden als een verzameling in de vorm van 'a', 'b', 'c' wanneer deze is opgemaakt in de query. U kunt ook het maximum aantal selecties beperken.

Wanneer u een meervoudige selectieparameter in een query gebruikt, moet u ervoor zorgen dat de KQL die verwijst naar de parameter werkt met de indeling van het resultaat. Voorbeeld:

  • een parameter met één waarde bevat geen aanhalingstekens wanneer deze zijn opgemaakt in een query, dus zorg ervoor dat u de aanhalingstekens in de query zelf opneemt, bijvoorbeeld: where name == '{parameter}'.
  • aanhalingstekens worden opgenomen in de opgemaakte parameter wanneer u een parameter met meerdere selecties gebruikt, dus zorg ervoor dat de query geen aanhalingstekens bevat. Bijvoorbeeld: where name in ({parameter}).

Let op hoe dit voorbeeld ook is overgeschakeld naar name == name in. De == operator staat slechts één waarde toe, terwijl de in operator meerdere waarden toestaat.

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

In dit voorbeeld ziet u de vervolgkeuzelijst met meerdere selecties op het werk:

Schermopname van een vervolgkeuzelijst met meerdere selecties.

Met vervolgkeuzelijstparameters kunt u ook speciale waarden opgeven die ook worden weergegeven in de vervolgkeuzelijst:

  • Een van de twee
  • Elke drie
  • ...
  • Elke 100
  • Elke aangepaste limiet
  • Alle

Wanneer deze speciale items zijn geselecteerd, wordt de parameterwaarde automatisch ingesteld op het specifieke aantal items of alle waarden.

Speciale behuizing alle, en toestaan dat een lege selectie wordt behandeld als Alle

Wanneer u Alles selecteert, wordt er een extra veld weergegeven, waarmee u een speciale waarde voor de parameter Alle kunt opgeven. Dit is handig wanneer 'Alle' een groot aantal items kan zijn en een zeer grote query kan genereren.

Schermopname van het venster Nieuwe parameter in Azure Portal. De optie Alles is geselecteerd en de optie Alles selecteren en het veld Alle waarden selecteren zijn gemarkeerd.

In dit specifieke geval wordt de tekenreeks [] gebruikt in plaats van een waarde. Deze tekenreeks kan worden gebruikt om een lege matrix te genereren in de logboekquery, zoals:

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

Als alle items zijn geselecteerd, is de waarde Selection , []die een lege matrix voor de selection variabele in de query produceert. Als er geen waarden zijn geselecteerd, wordt de waarde Selection opgemaakt als lege tekenreeks, wat ook resulteert in een lege matrix. Als er waarden zijn geselecteerd, worden deze opgemaakt in het dynamische deel van de query, waardoor de matrix deze waarden heeft. U kunt vervolgens testen op array_length 0 om het filter niet toe te passen of de in operator te gebruiken om te filteren op de waarden in de matrix.

Andere veelvoorkomende voorbeelden gebruiken '*' als de speciale markeringswaarde wanneer een parameter is vereist en test vervolgens met:

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

Volgende stappen

Meer informatie over de typen visualisaties die u kunt gebruiken om uitgebreide visuele rapporten te maken met Azure Workbooks.