ブックのドロップダウン パラメーター
ドロップダウン パラメーターを使用すると、既知のセットから 1 つ以上の入力値を収集できます。 たとえば、ドロップダウン パラメーターを使用して、アプリの要求のいずれかを選択できます。 ドロップダウン パラメーターではユーザー フレンドリな方法でユーザーから任意の入力を収集することもできます。 ドロップダウン パラメーターは、対話型のレポートでフィルター処理を有効にする場合に特に便利です。
ドロップダウン パラメーターを指定する最も簡単な方法は、パラメーター設定で静的リストを指定することです。 より興味深い方法は、KQL クエリを介してリストを動的に取得することです。 パラメーター設定を使用して、単一選択か複数選択かを指定することもできます。 複数選択の場合は、区切り記号や引用符など、結果セットの書式設定方法を指定できます。
静的ドロップダウン パラメーターを作成する
編集モードの空白のブックを使用して開始します。
[パラメーターの追加]>[パラメーターの追加] を選びます。
表示される新しいパラメーター ペインで、次のように入力します。
- パラメーター名:
Environment
- パラメーターの種類:
Drop down
- 必須:
checked
- 複数選択を許可する:
unchecked
- データの取得元:
JSON
- パラメーター名:
[JSON 入力] テキスト ブロックに、この JSON スニペットを挿入します。
[ { "value":"dev", "label":"Development" }, { "value":"ppe", "label":"Pre-production" }, { "value":"prod", "label":"Production", "selected":true } ]
[更新] を選択します。
[保存] を選んでパラメーターを作成します。
Environment パラメーターは、3 つの値を含むドロップダウン リストになります。
項目のグループを使用して静的ドロップダウン リストを作成する
クエリ結果/JSON に group
フィールドが含まれている場合は、ドロップダウン リストに値のグループが表示されます。 上記のサンプルに従ったうえで、代わりに次の 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" }
]
動的ドロップダウン パラメーターを作成する
編集モードの空白のブックを使用して開始します。
[パラメーターの追加]>[パラメーターの追加] を選びます。
表示される新しいパラメーター ペインで、次のように入力します。
- パラメーター名:
RequestName
- パラメーターの種類:
Drop down
- 必須:
checked
- 複数選択を許可する:
unchecked
- データの取得元:
Query
- パラメーター名:
[JSON 入力] テキスト ブロックに、この JSON スニペットを挿入します。
requests | summarize by name | order by name asc
[クエリの実行] を選択します。
[保存] を選び、パラメーターを作成します。
RequestName パラメーターは、アプリ内の全要求の名前を含むドロップダウン リストになります。
ドロップダウン パラメーターを参照する
ドロップダウン パラメーターを参照できます。
KQL 内
[クエリの追加] を選択してクエリ コントロールを追加し、Application Insights リソースを選択します。
KQL エディターで、このスニペットを入力します。
requests | where name == '{RequestName}' | summarize Requests = count() by bin(timestamp, 1h)
このスニペットにより、クエリの評価時間が次のように拡張されます。
requests | where name == 'GET Home/Index' | summarize Requests = count() by bin(timestamp, 1h)
クエリを実行して結果を確認します。 必要に応じて、それをグラフとして表示します。
パラメーター値、ラベル、選択、グループ
上記の動的ドロップダウン パラメーターで使用されるクエリは、ドロップダウン リストで忠実に表示される値のリストを返します。 しかし、別の表示名または名前のいずれかを選択したい場合はどうしたらよいでしょうか。 ドロップダウン パラメーターは、この機能に値、ラベル、選択、グループの列を使用します。
次のサンプルでは、表示名が絵文字でスタイル設定され、最初のものが選択され、操作名でグループ化されている、Application Insights の依存関係のリストを取得する方法を示しています。
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
ドロップダウン パラメーターのオプション
パラメーター | 説明 | 例 |
---|---|---|
{DependencyName} |
選択された値 | GET fabrikamaccount |
{DependencyName:label} |
選択されたラベル | 🌐 GET fabrikamaccount |
{DependencyName:value} |
選択された値 | GET fabrikamaccount |
複数選択
これまでの例では、ドロップダウン リストで 1 つの値のみを選択するようにパラメーターを明示的に設定しました。 ドロップダウン パラメーターでは、"複数選択" もサポートされています。 このオプションを有効にするには、[複数選択を許可する] チェックボックスをオンにします。
結果セットの形式は、[区切り記号] と [次で引用] の設定を使用して指定できます。 既定では、a, b, c の形式のコレクションとして値が返されます。 選択の数を制限することもできます。
パラメーターを参照する KQL は、結果の形式を処理できるように変更する必要があります。 これを有効にする最も一般的な方法は、in
演算子を使用することです。
dependencies
| where name in ({DependencyName})
| summarize Requests = count() by bin(timestamp, 1h), name
次の例は、実際の複数選択ドロップダウン パラメーターを示しています。
ドロップダウンの特別な選択
ドロップダウン パラメーターを使用すると、ドロップダウンにも表示される特別な値を指定することもできます。
- 任意の 1 個
- 任意の 3 個
- ...
- 任意の 100 個
- 任意のカスタム制限
- All
これらの特別な項目が選択されると、パラメーター値は、特定の項目の数またはすべての値に自動的に設定されます。
特殊な大文字小文字の [すべて]
[すべて] オプションを選択すると、追加のフィールドが表示されます。これにより、[すべて] オプションが選択されている場合に、パラメーターに特殊値を使用することを指定できます。 この特殊値は、[すべて] に多数の項目が含まれ、非常に大規模なクエリが生成される可能性がある場合に役立ちます。
この特殊なケースでは、値の代わりに文字列 []
が使用されます。 この文字列を使用して、ログ クエリで次のような空の配列を生成できます。
let selection = dynamic([{Selection}]);
SomeQuery
| where array_length(selection) == 0 or SomeField in (selection)
すべての項目が選択されている場合、Selection
の値は []
となり、クエリ内の selection
変数に空の配列が生成されます。 値が選択されていない場合、Selection
の値は空の文字列になり、空の配列になります。 値が選択されている場合は、クエリの動的部分内で書式設定され、配列にそれらの値が含まれます。 次に、array_length
が 0 であるかどうかをテストしてフィルターを適用しないようにすることも、in
演算子を使用して配列内の値をフィルター処理することもできます。
他の一般的な例では、パラメーターが必要な場合に特別なマーカー値として「*」を使用し、次のようにテストします。
| where "*" in ({Selection}) or SomeField in ({Selection})
次のステップ
Azure Workbooks でリッチ ビジュアル レポートを作成するために使用できる視覚化の種類について説明します。