통합 문서 드롭다운 매개 변수
드롭다운 매개 변수를 사용하여 알려진 집합에서 하나 이상의 입력 값을 수집할 수 있습니다. 예를 들어 드롭다운 매개 변수를 사용하여 앱의 요청 중 하나를 선택할 수 있습니다. 드롭다운 매개 변수는 또한 사용자로부터 임의의 입력을 수집하는 사용자 친화적인 방법을 제공합니다. 드롭다운 매개 변수는 대화형 보고서에서 필터링을 사용하도록 설정하는 데 특히 유용합니다.
드롭다운 매개 변수를 지정하는 가장 쉬운 방법은 매개 변수 설정에 정적 목록을 제공하는 것입니다. 더 흥미로운 방법은 KQL 쿼리를 통해 목록을 동적으로 가져오는 것입니다. 매개 변수 설정을 사용하여 단일 선택인지 다중 선택인지 지정할 수도 있습니다. 다중 선택인 경우 결과 집합의 형식을 지정하는 방법(예: 구분 기호 또는 인용 부호)을 지정할 수 있습니다.
드롭다운 매개 변수 구성 요소
정적 JSON 콘텐츠를 사용하거나 쿼리에서 동적 값을 가져오는 경우 드롭다운 매개 변수는 다음 특정 순서로 최대 4개의 정보 필드를 허용합니다.
value
(필수): 데이터의 첫 번째 열/필드가 매개 변수의 리터럴 값으로 사용됩니다. 간단한 정적 JSON 매개 변수의 경우 JSON 콘텐츠["dev", "test", "prod"]
만큼 간단할 수 있습니다. 이 콘텐츠는 3개 항목과 해당 값 및 레이블이 포함된 드롭다운을 만듭니다. 이 필드의 이름은value
일 필요가 없습니다. 드롭다운은 이름에 관계없이 데이터의 첫 번째 필드를 사용합니다.label
(선택 사항): 데이터의 두 번째 열/필드는 드롭다운에서 매개 변수의 표시 이름/레이블로 사용됩니다. 지정되지 않은 경우 값은 레이블로 사용됩니다. 이 필드의 이름은label
일 필요가 없습니다. 드롭다운은 이름에 관계없이 데이터의 두 번째 필드를 사용합니다.selected
(선택 사항): 데이터의 세 번째 열/필드를 사용하여 기본적으로 선택해야 하는 값을 지정합니다. 지정하지 않으면 기본적으로 항목이 선택되지 않습니다. 선택 동작은 JavaScript "falsy" 개념을 기준으로 하므로0
,false
,null
또는 빈 문자열과 같은 값은 선택되지 않은 것으로 처리됩니다. 이 필드의 이름은selected
일 필요가 없습니다. 드롭다운은 이름에 관계없이 데이터의 세 번째 필드를 사용합니다.참고 항목
이 필드는 기본 선택 항목만 제어합니다.목 사용자가 드롭다운에서 값을 선택한 후에는 사용자가 선택한 해당 값이 사용됩니다. 매개 변수에 대한 후속 쿼리가 실행되고 새 기본값을 반환하는 경우에도 적용됩니다. 기본 선택 항목으로 돌아가려면 드롭다운에서 "기본 항목" 옵션을 사용하여 기본값을 다시 쿼리하고 적용할 수 있습니다.
기본값은 사용자가 선택한 항목이 없는 경우에만 적용됩니다.
후속 쿼리가 이전에 선택한 값을 포함하지 않는 항목을 반환하는 경우 누락된 값이 선택 영역에서 제거됩니다. 드롭다운에서 선택한 항목은 쿼리에서 반환된 항목과 이전에 선택한 항목의 교집합이 됩니다.
group
(선택 사항): 다른 필드와 달리 그룹화 열의 이름은group
이어야 하고value
,label
및selected
다음에 나와야 합니다. 데이터의 이 필드는 드롭다운의 항목을 그룹화하는 데 사용됩니다. 지정하지 않으면 그룹화가 사용되지 않습니다. 기본 선택이 필요하지 않은 경우 데이터/쿼리는 모든 값이false
인 경우에도 하나 이상의 개체/행에selected
필드를 반환해야 합니다.
참고 항목
데이터의 다른 필드는 드롭다운 매개 변수에 의해 무시됩니다. 무시되는 데이터를 반환하는 복잡한 쿼리를 방지하기 위해 드롭다운에서 사용하는 필드로만 콘텐츠를 제한하는 것이 좋습니다.
정적 드롭다운 매개 변수 만들기
편집 모드에서 빈 통합 문서로 시작합니다.
매개 변수 추가>매개 변수 추가를 선택합니다.
열리는 새 매개 변수 창에서 다음을 입력합니다.
매개 변수 이름:
Environment
매개 변수 형식:
Drop down
필수:
checked
복수 선택 허용:
unchecked
에서 데이터 가져오기:
JSON
또는Query
를 선택하고JSON
데이터 원본을 선택합니다.JSON 데이터 원본을 사용하면 JSON 콘텐츠가 기존 매개 변수를 참조할 수 있습니다.
JSON 입력 텍스트 블록에서 다음 JSON 코드 조각을 삽입합니다.
[ { "value":"dev", "label":"Development" }, { "value":"ppe", "label":"Pre-production" }, { "value":"prod", "label":"Production", "selected":true } ]
업데이트를 선택합니다.
저장을 선택하여 매개 변수를 만듭니다.
환경 매개 변수는 세 가지 값이 있는 드롭다운 목록입니다.
항목 그룹이 있는 정적 드롭다운 목록 만들기
쿼리 결과/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" }
]
참고 항목
쿼리에서 group
필드를 사용하는 경우 label
및 selected
필드에 대한 값도 제공해야 합니다.
동적 드롭다운 매개 변수 만들기
편집 모드에서 빈 통합 문서로 시작합니다.
매개 변수 추가>매개 변수 추가를 선택합니다.
열리는 새 매개 변수 창에서 다음을 입력합니다.
- 매개 변수 이름:
RequestName
- 매개 변수 형식:
Drop down
- 필수:
checked
- 복수 선택 허용:
unchecked
- 데이터 출처:
Query
- 매개 변수 이름:
JSON 입력 텍스트 블록에서 다음 JSON 코드 조각을 삽입합니다.
requests | summarize by name | order by name asc
쿼리 실행을 선택합니다.
저장을 선택하여 매개 변수를 만듭니다.
RequestName 매개 변수는 앱의 모든 요청 이름이 있는 드롭다운 목록입니다.
예: 사용자 지정 레이블, 기본적으로 첫 번째 항목 선택 및 작업 이름별 그룹화
앞의 동적 드롭다운 매개 변수에 사용된 쿼리는 드롭다운 목록에 렌더링된 값 목록을 반환합니다. 다른 표시 이름을 사용하거나 사용자가 표시 이름을 선택할 수 있도록 하려면 값, 레이블, 선택 영역 및 그룹 열을 사용합니다.
다음 샘플에서는 고유한 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
드롭다운 매개 변수 참조
매개 변수 값을 쿼리, 시각화 설정, Markdown 텍스트 콘텐츠 또는 매개 변수를 옵션으로 선택할 수 있는 다른 위치로 바꾸는 등 매개 변수를 사용할 수 있는 모든 위치에서 드롭다운 매개 변수를 참조할 수 있습니다.
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)
결과를 보려면 쿼리 실행을 선택합니다. 필요에 따라 차트를 렌더링합니다.
드롭다운 매개 변수 옵션
매개 변수 | 설명 | 예시 |
---|---|---|
{DependencyName} |
선택한 값 | GET fabrikamaccount |
{DependencyName:value} |
선택한 값(위와 동일) | GET fabrikamaccount |
{DependencyName:label} |
선택한 레이블 | 🌐 GET fabrikamaccount |
{DependencyName:escape} |
선택한 값(쿼리로 서식을 지정할 때 일반 따옴표 문자가 바뀜) | GET fabrikamaccount |
다중 선택
지금까지의 예에서는 드롭다운 목록에서 하나의 값만 선택하도록 매개 변수를 명시적으로 설정했습니다. 드롭다운 매개 변수는 다중 선택도 지원합니다. 이 옵션을 사용하려면 다중 선택 허용 확인란을 선택합니다.
구분 기호 및 따옴표 포함 설정을 통해 결과 집합의 형식을 지정할 수 있습니다. 기본적으로 ,
(쉼표)는 구분 기호로 사용되며 '
(작은따옴표)는 따옴표 문자로 사용됩니다. 쿼리로 서식이 지정될 경우 기본값은 'a', 'b', 'c'
형식의 컬렉션으로 값을 반환합니다. 최대 선택 항목 수를 제한할 수도 있습니다.
쿼리에서 여러 select 매개 변수를 사용하는 경우 매개 변수를 참조하는 KQL이 결과의 형식에 맞게 작동하는지 확인합니다. 예시:
- 단일 값 매개 변수는 쿼리로 서식을 지정할 때 따옴표를 포함하지 않으므로 쿼리 자체에 따옴표를 포함해야 합니다(예:
where name == '{parameter}'
). - 여러 select 매개 변수를 사용할 때 서식이 지정된 매개 변수에 따옴표는 포함되므로 쿼리에 따옴표가 포함되지 않도록 합니다. 예들 들어
where name in ({parameter})
입니다.
이 예제가 name ==
에서 name in
으로 전환된 방식도 확인합니다. ==
연산자는 단일 값만 허용하는 반면 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 통합 문서를 사용하여 풍부한 시각적 보고서를 만드는 데 사용할 수 있는 시각화 유형에 대해 알아봅니다.