Sdílet prostřednictvím


Parametry rozevíracího seznamu sešitu

Pomocí parametrů rozevíracího seznamu můžete shromažďovat jednu nebo více vstupních hodnot ze známé sady. Pomocí parametru rozevíracího seznamu můžete například vybrat jeden z požadavků vaší aplikace. Parametry rozevíracího seznamu také poskytují uživatelsky přívětivý způsob shromažďování libovolných vstupů od uživatelů. Parametry rozevíracího seznamu jsou užitečné zejména při povolování filtrování v interaktivních sestavách.

Nejjednodušší způsob, jak zadat parametr rozevíracího seznamu, je poskytnutí statického seznamu v nastavení parametru. Zajímavější způsob je dynamicky získat seznam prostřednictvím dotazu KQL. Pomocí nastavení parametrů můžete také určit, jestli se jedná o jeden nebo vícenásobný výběr. Pokud se jedná o vícenásobný výběr, můžete určit, jak se má sada výsledků formátovat, například jako oddělovač nebo uvozovky.

Při použití statického obsahu JSON nebo získávání dynamických hodnot z dotazů umožňují parametry rozevíracího seznamu až čtyři pole informací v tomto konkrétním pořadí:

  1. value (povinné): první sloupec nebo pole v datech se používá jako hodnota literálu parametru. V případě jednoduchých statických parametrů JSON to může být stejně jednoduché jako obsah ["dev", "test", "prod"]JSON, který by vytvořil rozevírací seznam tří položek s těmito hodnotami jako hodnotu i popisek v rozevíracím seznamu. Název tohoto pole nemusí být value, v rozevíracím seznamu se použije první pole v datech bez ohledu na název.

  2. label (volitelné): Druhý sloupec / pole v datech se používá jako zobrazovaný název/popisek parametru v rozevíracím seznamu. Pokud není zadán, použije se jako popisek hodnota. Název tohoto pole nemusí být label, v rozevíracím seznamu se použije druhé pole v datech bez ohledu na název.

  3. selected (volitelné): Třetí sloupec / pole v datech slouží k určení hodnoty, která má být ve výchozím nastavení vybrána. Pokud není zadáno, nejsou ve výchozím nastavení vybrány žádné položky. Chování výběru je založeno na konceptu "falsy" JavaScriptu, takže hodnoty jako 0, false, nullnebo prázdné řetězce jsou považovány za nevybíjené. Název tohoto pole nemusí být selected, v rozevíracím seznamu se použije třetí pole v datech bez ohledu na název.

    Poznámka:

    Toto nastavení řídí pouze výchozí výběr, jakmile uživatel vybere hodnoty v rozevíracím seznamu, použijí se tyto hodnoty vybrané uživatelem. I když se následující dotaz pro parametr spustí a vrátí nové výchozí hodnoty. Pokud se chcete vrátit k výchozímu výběru, můžete použít možnost Výchozí položky v rozevíracím seznamu, která znovu odešle dotaz na výchozí hodnoty a použije je.

    Výchozí hodnoty se použijí jenom v případě, že uživatel nevybrali žádné položky.

    Pokud následující dotaz vrátí položky, které neobsahují dříve vybrané hodnoty, chybějící hodnoty se z výběru odeberou. Vybrané položky v rozevíracím seznamu se stanou průnikem položek vrácených dotazem a položkami, které byly dříve vybrány.

  4. group(volitelné): Na rozdíl od ostatních polí musí být sloupec seskupení pojmenován group a uveden za valuea label selected. Toto pole v datech slouží k seskupení položek v rozevíracím seznamu. Pokud není zadáno, nebude použito žádné seskupení. Pokud není potřeba použít výchozí výběr, musí data nebo dotaz stále vracet selected pole v alespoň jednom objektu nebo řádku, i když jsou falsevšechny hodnoty .

Poznámka:

Parametr rozevíracího seznamu ignoruje všechna ostatní pole v datech. Doporučujeme omezit obsah jenom na pole použitá rozevíracím seznamem, aby se zabránilo složitým dotazům vracejících data, která se ignorují.

Vytvoření parametru statického rozevíracího seznamu

  1. Začněte prázdným sešitem v režimu úprav.

  2. Vyberte Přidat parametry>Přidat parametr.

  3. V novém podokně parametrů, které se otevře, zadejte:

    1. Název parametru: Environment

    2. Typ parametru: Drop down

    3. Povinné: checked

    4. Povolit více výběrů: unchecked

    5. Získat data z: JSON nebo vyberte Query a vyberte JSON zdroj dat.

      Zdroj dat JSON umožňuje obsahu JSON odkazovat na všechny existující parametry.

  4. Do bloku vstupního textu JSON vložte tento fragment kódu JSON:

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

  6. Výběrem možnosti Uložit vytvořte parametr.

  7. Parametr Prostředí je rozevírací seznam se třemi hodnotami.

    Snímek obrazovky znázorňující vytvoření statického parametru rozevíracího seznamu

Vytvoření statického rozevíracího seznamu se skupinami položek

Pokud výsledek dotazu nebo JSON obsahuje group pole, zobrazí se v rozevíracím seznamu skupiny hodnot. Postupujte podle předchozí ukázky, ale použijte místo toho následující 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" }
]

Snímek obrazovky znázorňující příklad seskupeného rozevíracího seznamu

Poznámka:

Při použití group pole v dotazu musíte také zadat hodnotu pro label pole a selected pole.

Vytvoření dynamického parametru rozevíracího seznamu

  1. Začněte prázdným sešitem v režimu úprav.

  2. Vyberte Přidat parametry>Přidat parametr.

  3. V novém podokně parametrů, které se otevře, zadejte:

    1. Název parametru: RequestName
    2. Typ parametru: Drop down
    3. Povinné: checked
    4. Povolit více výběrů: unchecked
    5. Získání dat z: Query
  4. Do bloku vstupního textu JSON vložte tento fragment kódu JSON:

        requests
        | summarize by name
        | order by name asc
    
  5. Vyberte Spustit dotaz.

  6. Výběrem možnosti Uložit vytvořte parametr.

  7. Parametr RequestName je rozevírací seznam s názvy všech požadavků v aplikaci.

    Snímek obrazovky znázorňující vytvoření dynamického parametru rozevíracího seznamu

Příklad: Vlastní popisky, výběr první položky ve výchozím nastavení a seskupení podle názvu operace

Dotaz použitý v předchozím dynamickém rozevíracím seznamu vrátí seznam hodnot vykreslených v rozevíracím seznamu. Pokud chcete použít jiné zobrazované jméno nebo povolit uživateli vybrat zobrazované jméno, použijte hodnotu, popisek, výběr a sloupce skupiny.

Následující ukázka ukazuje, jak získat seznam jedinečných závislostí Application Insights. Zobrazované názvy jsou ve stylu emoji, ve výchozím nastavení je vybraná první položka a položky jsou seskupené podle názvů operací:

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

Snímek obrazovky znázorňující parametr rozevíracího seznamu s použitím hodnot, popisku, výběru a možností skupiny

Odkazování na parametr rozevíracího seznamu

Parametry rozevíracího seznamu můžete odkazovat kdekoli, kde se parametry dají použít, včetně nahrazení hodnoty parametru do dotazů, nastavení vizualizace, textového obsahu Markdownu nebo jiných míst, kde můžete jako možnost vybrat parametr.

V KQL

  1. Vyberte Přidat dotaz , chcete-li přidat ovládací prvek dotazu, a pak vyberte prostředek Application Insights.

  2. V editoru KQL zadejte tento fragment kódu:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Fragment kódu rozšiřuje čas vyhodnocení dotazu na:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Výběrem dotazu Spustit zobrazíte výsledky. Volitelně ho můžete vykreslit jako graf.

    Snímek obrazovky znázorňující parametr rozevíracího seznamu odkazovaný v KQL

Parametr Popis Příklad
{DependencyName} Vybraná hodnota GET fabrikamaccount
{DependencyName:value} Vybraná hodnota (stejná jako výše) GET fabrikamaccount
{DependencyName:label} Vybraný popisek 🌐 GET fabrikamaccount
{DependencyName:escape} Vybraná hodnota s libovolnými běžnými znaky uvozovek nahrazené při formátování do dotazů GET fabrikamaccount

Vícenásobný výběr

Dosud uvedené příklady explicitně nastavily parametr tak, aby v rozevíracím seznamu vybrali pouze jednu hodnotu. Parametry rozevíracího seznamu také podporují více výběrů. Pokud chcete tuto možnost povolit, zaškrtněte políčko Povolit více výběrů .

Formát sady výsledků můžete zadat pomocí oddělovače a uvozovek s nastavením. Ve výchozím nastavení , se jako oddělovač používá (čárka) a ' jako znak uvozovky se použije (jednoduchá uvozovka). Výchozí hodnota vrátí hodnoty jako kolekci ve formě 'a', 'b', 'c' při formátování do dotazu. Můžete také omezit maximální počet výběrů.

Při použití více výběrového parametru v dotazu se ujistěte, že KQL odkazující na parametr funguje s formátem výsledku. Příklad:

  • Parametr s jednou hodnotou neobsahuje žádné uvozovky při formátování dotazu, proto nezapomeňte do samotného dotazu zahrnout uvozovky, například: where name == '{parameter}'.
  • Uvozovky jsou součástí formátovaného parametru při použití vícenásobného výběrového parametru, proto se ujistěte, že dotaz neobsahuje uvozovky. Například where name in ({parameter}).

Všimněte si, jak tento příklad také přepnul z name == .name in Operátor == umožňuje pouze jednu hodnotu, zatímco in operátor umožňuje více hodnot.

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

Tento příklad ukazuje parametr rozevíracího seznamu s vícenásobným výběrem v práci:

Snímek obrazovky znázorňující parametr rozevíracího seznamu s vícenásobným výběrem

Parametry rozevíracího seznamu také umožňují zadat speciální hodnoty, které se zobrazí také v rozevíracím seznamu:

  • Kdokoliv
  • Jakékoli tři
  • ...
  • Libovolných 100
  • Libovolný vlastní limit
  • Všechny

Při výběru těchto speciálních položek se hodnota parametru automaticky nastaví na konkrétní počet položek nebo všechny hodnoty.

Speciální velikost mezer a povolení, aby byl prázdný výběr považován za Vše

Když vyberete Možnost Vše, zobrazí se další pole, které umožňuje zadat speciální hodnotu pro parametr All . To je užitečné, když "Vše" může být velký počet položek a může vygenerovat velmi velký dotaz.

Snímek obrazovky s oknem Nový parametr na webu Azure Portal Je vybrána možnost Vše a zvýrazněná možnost Vše a Pole Vybrat vše.

V tomto konkrétním případě se řetězec [] použije místo hodnoty. Tento řetězec lze použít k vygenerování prázdného pole v dotazu protokolů, například:

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

Pokud jsou vybrány všechny položky, hodnota Selection je [], vytvoří prázdné pole pro proměnnou selection v dotazu. Pokud nejsou vybrány žádné hodnoty, hodnota Selection je formátována jako prázdný řetězec, výsledkem je také prázdné pole. Pokud jsou vybrány nějaké hodnoty, naformátují se uvnitř dynamické části dotazu, což způsobí, že pole bude mít tyto hodnoty. Potom můžete otestovat array_length hodnotu 0, aby filtr nebyl použit, nebo pomocí operátoru in vyfiltrovat hodnoty v matici.

Další běžné příklady používají jako speciální hodnotu značky, pokud je parametr povinný, a pak otestujte následující:

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

Další kroky

Seznamte se s typy vizualizací, které můžete použít k vytváření bohatých vizuálních sestav pomocí Azure Workbooks.