Share via


Paramètres de liste déroulante des classeurs

En utilisant des paramètres de liste déroulante, vous pouvez collecter une ou plusieurs valeurs d’entrée à partir d’un ensemble connu. Par exemple, vous pouvez utiliser un paramètre de liste déroulante pour sélectionner l’une des requêtes de votre application. Les paramètres de liste déroulante représentent également un moyen convivial de recueillir des entrées arbitraires des utilisateurs. Les paramètres de liste déroulante particulièrement utiles pour permettre le filtrage dans des rapports interactifs.

Le moyen le plus simple de spécifier un paramètre de liste déroulante consiste à fournir une liste statique dans le paramètre. Il est plus intéressant de récupérer la liste de manière dynamique avec une requête KQL. Vous pouvez également spécifier s’il s’agit d’une sélection unique ou multiple à l’aide des paramètres. S’il s’agit d’une sélection multiple, vous pouvez spécifier la façon dont le jeu de résultats doit être mis en forme (délimiteur ou guillemet, par exemple).

Créer un paramètre de liste déroulante statique

  1. Démarrez avec un classeur vide en mode d’édition.

  2. Sélectionnez Ajouter des paramètres>Ajouter un paramètre.

  3. Dans le nouveau volet des paramètres qui apparaît, entrez :

    1. Nom du paramètre : Environment
    2. Type de paramètre : Drop down
    3. Obligatoire : checked
    4. Autoriser les sélections multiples : unchecked
    5. Récupérer des données à partir de : JSON
  4. Dans le bloc de texte de l’entrée JSON, insérez cet extrait de code JSON :

    [
        { "value":"dev", "label":"Development" },
        { "value":"ppe", "label":"Pre-production" },
        { "value":"prod", "label":"Production", "selected":true }
    ]
    
  5. Sélectionnez Mettre à jour.

  6. Sélectionnez Enregistrer pour créer le paramètre.

  7. Le paramètre Environnement correspond à une liste déroulante à trois valeurs.

    Screenshot that shows the creation of a static dropdown parameter.

Créer une liste déroulante statique avec des groupes d’éléments

Si le résultat/JSON de votre requête contient un champ group, la liste déroulante affiche des groupes de valeurs. Suivez l’exemple précédent, en utilisant cette fois le JSON suivant :

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

Créer un paramètre de liste déroulante dynamique

  1. Démarrez avec un classeur vide en mode d’édition.

  2. Sélectionnez Ajouter des paramètres>Ajouter un paramètre.

  3. Dans le nouveau volet des paramètres qui apparaît, entrez :

    1. Nom du paramètre : RequestName
    2. Type de paramètre : Drop down
    3. Obligatoire : checked
    4. Autoriser les sélections multiples : unchecked
    5. Récupérer des données à partir de : Query
  4. Dans le bloc de texte de l’entrée JSON, insérez cet extrait de code JSON :

        requests
        | summarize by name
        | order by name asc
    
  5. Sélectionnez Run Query (Exécuter la requête).

  6. Sélectionnez Enregistrer pour créer le paramètre.

  7. Le paramètre RequestName correspond à une liste déroulante contenant les noms de toutes les demandes de l’application.

    Screenshot that shows the creation of a dynamic dropdown parameter.

Référencer un paramètre de liste déroulante

Vous pouvez référencer des paramètres de liste déroulante.

En KQL

  1. Sélectionnez Ajouter une requête pour ajouter un contrôle de requête, puis sélectionnez une ressource Application Insights.

  2. Dans l’éditeur KQL, entrez cet extrait de code :

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Cet extrait de code développe ainsi l’heure d’évaluation de la requête :

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Exécuter la requête pour afficher les résultats. Si vous le souhaitez, présentez-les sous forme de graphique.

    Screenshot that shows a dropdown parameter referenced in KQL.

Valeur, étiquette, sélection et groupe de paramètres

La requête utilisée dans le paramètre de liste déroulante dynamique précédent retourne une liste de valeurs fidèlement restituées dans la liste déroulante. Mais comment faire pour choisir un autre nom d’affichage ou en sélectionner un ? Les paramètres de liste déroulante utilisent des colonnes de valeur, d’étiquette, de sélection et de groupe pour cette fonctionnalité.

L’exemple suivant montre comment récupérer une liste de dépendances Application Insights dont les noms d’affichage sont stylisés avec un emoji, dont le premier nom d’affichage est sélectionné et qui est groupée par nom d’opération :

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.

Paramètre Description Exemple
{DependencyName} Valeur sélectionnée GET fabrikamaccount
{DependencyName:label} Étiquette sélectionnée 🌐 GET fabrikamaccount
{DependencyName:value} Valeur sélectionnée GET fabrikamaccount

Sélection multiple

Les exemples donnés jusqu’ici définissent explicitement le paramètre de façon à sélectionner une seule valeur dans la liste déroulante. Les paramètres de liste déroulante prennent également en charge les sélections multiples. Pour activer cette option, cochez la case Autoriser les sélections multiples.

Vous pouvez spécifier le format du jeu de résultats à l’aide des paramètres Délimiteur et Guillemet avec. Par défaut, les valeurs sont retournées sous forme de collection au format : a, b, c. Vous pouvez également limiter le nombre de sélections.

Le code KQL qui fait référence au paramètre doit être modifié pour l’adapter au format du résultat. Le moyen le plus courant d’y parvenir consiste à utiliser l’opérateur in.

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

Cet exemple montre le paramètre de liste déroulante à sélection multiple en action :

Screenshot that shows a multi-select dropdown parameter.

Les paramètres de liste déroulante vous permettent également de spécifier des valeurs spéciales qui s’afficheront aussi dans la liste déroulante :

  • Les un
  • Les trois
  • ...
  • Les 100 éléments
  • Tout {limite personnalisée
  • Tous

Lorsque ces éléments spéciaux sont sélectionnés, la valeur du paramètre est automatiquement définie sur le nombre spécifique d’éléments, ou sur toutes les valeurs.

Traitement des cas spéciaux avec Tout

Lorsque vous sélectionnez l’option Tout, un champ supplémentaire s’affiche, qui vous permet d’indiquer qu’une valeur spéciale sera utilisée pour le paramètre si l’option Tout est sélectionnée. Cette valeur spéciale est utile dans les cas où « Tout » est susceptible de représenter un grand nombre d’éléments et pourrait générer une requête très volumineuse.

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.

Dans ce cas spécifique, la chaîne [] est utilisée à la place d’une valeur. Cette chaîne peut être utilisée pour générer un tableau vide dans la requête logs, par exemple :

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

Si tous les éléments sont sélectionnés, la valeur de Selection est [], ce qui produit un tableau vide pour la variable selection de la requête. Si aucune valeur n’est sélectionnée, la valeur de Selection est une chaîne vide, ce qui génère également un tableau vide. Si des valeurs sont sélectionnées, elles sont mises en forme à l’intérieur de la partie dynamique de la requête, et le tableau présente ces valeurs. Vous pouvez ensuite effectuer un test en attribuant à array_length la valeur 0 pour que le filtre ne s’applique pas ou utiliser l’opérateur in pour filtrer sur les valeurs du tableau.

Dans d’autres exemples courants, « * » est utilisé comme valeur spéciale de marqueur quand un paramètre est obligatoire, puis un test est effectué avec :

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

Étapes suivantes

Découvrez les types de visualisations que vous pouvez utiliser pour créer des rapports visuels enrichis avec des classeurs Azure.