Dropdownparameter in Arbeitsmappen

Mithilfe von Dropdownparametern können Sie einen oder mehrere Eingabewerte aus einer bekannten Menge sammeln. Sie können beispielsweise mit einem Dropdownparameter eine der Anforderungen Ihrer App auswählen. Dropdownparameter bieten auch eine benutzerfreundliche Möglichkeit, beliebige Eingaben von Benutzern zu erfassen. Dropdownparameter sind besonders nützlich, um Filtervorgänge in interaktiven Berichten zu ermöglichen.

Sie können einen Dropdownparameter am einfachsten angeben, indem Sie in der Parametereinstellung eine statische Liste bereitstellen. Interessanter wird es, wenn Sie die Liste dynamisch über eine KQL-Abfrage abrufen. Sie können über Parametereinstellungen auch festlegen, ob es sich um eine Einfach- oder Mehrfachauswahl handelt. Wenn es sich um eine Mehrfachauswahl handelt, können Sie festlegen, wie das Resultset formatiert werden soll, z. B. als Trennzeichen oder Anführungszeichen.

Erstellen eines statischen Dropdownparameters

  1. Beginnen Sie mit einer leeren Arbeitsmappe im Bearbeitungsmodus.

  2. Wählen Sie Parameter hinzufügen>Parameter hinzufügen aus.

  3. Geben Sie in das sich öffnende neue Parameterfenster ein:

    1. Name des Parameters: Environment
    2. Typ des Parameters: Drop down
    3. Erforderlich: checked
    4. Mehrfachauswahl zulassen: unchecked
    5. Daten abrufen aus: JSON
  4. Fügen Sie im Textblock der JSON-Eingabe diesen JSON-Schnipsel ein:

    [
        { "value":"dev", "label":"Development" },
        { "value":"ppe", "label":"Pre-production" },
        { "value":"prod", "label":"Production", "selected":true }
    ]
    
  5. Wählen Sie Aktualisieren aus.

  6. Wählen Sie Speichern aus, um den Parameter zu erstellen.

  7. Der Parameter Umgebung ist eine Dropdownliste mit den drei Werten.

    Screenshot that shows the creation of a static dropdown parameter.

Erstellen einer statischen Dropdownliste mit Gruppen von Elementen

Wenn Ihr Abfrageergebnis/Ihr JSON ein Feld group enthält, zeigt die Dropdownliste Gruppen von Werten an. Orientieren Sie sich am obigen Beispiel, verwenden Sie jedoch stattdessen den folgenden JSON-Code:

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

Erstellen eines dynamischen Dropdownparameters

  1. Beginnen Sie mit einer leeren Arbeitsmappe im Bearbeitungsmodus.

  2. Wählen Sie Parameter hinzufügen>Parameter hinzufügen aus.

  3. Geben Sie in das sich öffnende neue Parameterfenster ein:

    1. Name des Parameters: RequestName
    2. Typ des Parameters: Drop down
    3. Erforderlich: checked
    4. Mehrfachauswahl zulassen: unchecked
    5. Daten abrufen aus: Query
  4. Fügen Sie im Textblock der JSON-Eingabe diesen JSON-Schnipsel ein:

        requests
        | summarize by name
        | order by name asc
    
  5. Wählen Sie Run Query (Abfrage ausführen) aus.

  6. Wählen Sie Speichern aus, um den Parameter zu erstellen.

  7. Der Parameter RequestName ist eine Dropdownliste mit den Namen aller Anforderungen in der App.

    Screenshot that shows the creation of a dynamic dropdown parameter.

Verweisen auf einen Dropdownparameter

Sie können auf Dropdownparameter verweisen.

In einer KQL

  1. Wählen Sie Abfrage hinzufügen, um ein Abfragesteuerelement hinzuzufügen, und dann eine Application Insights-Ressource aus.

  2. Geben Sie im KQL-Editor diesen Schnipsel ein:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Dieser Schnipsel wird bei der Auswertung der Abfrage wie folgt erweitert:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Führen Sie die Abfrage aus, um die Ergebnisse anzuzeigen. Optional können Sie die Ergebnisse auch als Diagramm rendern lassen.

    Screenshot that shows a dropdown parameter referenced in KQL.

Parameterwert, Bezeichnung, Auswahl und Gruppe

Die im vorherigen dynamischen Dropdownparameter verwendete Abfrage gibt eine Liste mit Werten zurück, die in der Dropdownliste ordnungsgemäß gerendert werden. Was jedoch, wenn Sie einen anderen Anzeigenamen wünschen oder einer dieser Namen ausgewählt werden soll? Dropdownparameter nutzen für diese Funktionalität Optionen für Wert, Bezeichnung, Auswahl und Gruppenspalten.

Im nachstehenden Beispiel wird veranschaulicht, wie eine Liste von Application Insights-Abhängigkeiten abgerufen wird, deren Anzeigenamen mit einem Emoji formatiert sind, wobei die erste Abhängigkeit ausgewählt ist und die Ergebnisse nach Vorgangsnamen gruppiert sind:

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 BESCHREIBUNG Beispiel
{DependencyName} Ausgewählter Wert GET fabrikamaccount
{DependencyName:label} Ausgewählte Bezeichnung 🌐 GET fabrikamaccount
{DependencyName:value} Ausgewählter Wert GET fabrikamaccount

Mehrfachauswahl

In den bisherigen Beispielen wurde der Parameter explizit so festgelegt, dass nur ein Wert in der Dropdownliste ausgewählt wird. Dropdownparameter unterstützen auch Mehrfachauswahl. Um diese Option zu aktivieren, aktivieren Sie das Kontrollkästchen Mehrfachauswahl zulassen.

Sie können das Format des Resultsets über die Einstellungen Trennzeichen und Umschließen mit festlegen. In der Standardeinstellung werden die Werte als Sammlung in diesem Format zurückgegeben: a, b, c. Sie können auch die Anzahl der Auswahlmöglichkeiten begrenzen.

Die KQL, die auf den Parameter verweist, muss geändert werden, um mit dem Format des Ergebnisses zu arbeiten. Die gängigste Möglichkeit, dies zu erreichen, ist über den in-Operator.

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

In diesem Beispiel wird der Dropdownparameter mit Mehrfachauswahl gezeigt:

Screenshot that shows a multi-select dropdown parameter.

Mit Dropdownparametern können Sie auch spezielle Werte angeben, die ebenfalls in der Dropdownliste angezeigt werden:

  • Eine beliebige
  • Drei beliebige
  • ...
  • 100 beliebige
  • benutzerdefinierter beliebiger Grenzwert
  • Alle

Wenn diese speziellen Elemente ausgewählt werden, wird der Parameterwert automatisch auf die bestimmte Anzahl von Elementen oder alle Werte festgelegt.

Spezialfall „Alle“

Wenn Sie die Option Alle auswählen, wird ein zusätzliches Feld angezeigt, mit dem Sie angeben können, dass ein spezieller Wert für den Parameter verwendet wird, wenn die Option Alle ausgewählt ist. Dieser spezielle Wert ist nützlich für Fälle, in denen „Alle“ eine große Anzahl von Elementen sein könnte und eine sehr große Abfrage generieren würde.

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 diesem speziellen Fall wird die Zeichenfolge [] anstelle eines Werts verwendet. Diese Zeichenfolge kann verwendet werden, um ein leeres Array in der Protokollabfrage zu generieren, beispielsweise:

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

Wenn alle Elemente ausgewählt sind, ist der Wert von Selection[], wodurch ein leeres Array für die selection-Variable in der Abfrage erzeugt wird. Wenn keine Werte ausgewählt sind, ist der Wert von Selection eine leere Zeichenfolge, was zu einem leeren Array führt. Wenn Werte ausgewählt sind, werden sie im dynamischen Teil der Abfrage formatiert, sodass das Array diese Werte aufweist. Sie können dann auf array_length von 0 testen, damit der Filter nicht angewendet wird, oder sie können den in-Operator verwenden, um nach den Werten im Array zu filtern.

Andere gängige Beispiele verwenden „*“ als besonderen Markerwert, wenn ein Parameter erforderlich ist, und testen dann mit:

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

Nächste Schritte

Erfahren Sie mehr über die Arten von Visualisierungen, die Sie zum Erstellen umfangreicher visueller Berichte mit Azure-Arbeitsmappen verwenden können.