중첩 변수를 사용하면 대시보드의 변수 간에 동적이고 종속적인 관계를 만들 수 있습니다. 이를 통해 다음을 수행할 수 있습니다.
- 대시보드 변수를 재사용하고, 특히 다른 변수의 데이터를 기반으로 필터링하는 경우 표시되는 내용을 동적으로 변경합니다.
- 변수에서 부모/자식 관계를 만들고, 다양한 수준의 필터를 선택할 수 있는 트리 구조를 형성합니다.
사용 사례
환경(예: 프로덕션 및 스테이징)을 선택하기 위해 Env
변수를 생성했다고 가정해 보겠습니다. 선택한 환경에 따라 머신 목록으로 Machine
변수를 업데이트하려고 합니다. Machine
에 대한 WHERE
조건에 Env 변수를 직접 포함하는 것은 표준 설정에서 지원되지 않습니다.
예시:
Variable Env
=production
또는staging
Variable Machine
=SELECT uniques(machine) FROM Table WHERE env in ({{Env}})
중첩된 변수 없이는 이러한 직접적인 접근 방식이 지원되지 않습니다. 중첩된 변수를 사용하면 Machine
변수의 쿼리가 Env
변수의 값을 동적으로 참조할 수 있어 이 문제가 해결됩니다.
중첩 변수를 사용하는 방법
중첩 변수를 구현하려면 다음 단계를 따르세요.
- 편집할 수 있는 대시보드로 이동하세요.
Add Variable
함수를 사용하여 부모 변수(예:env
)를 만듭니다.FROM TransactionSELECT uniques(environment)- 다른 변수(예:
variable_cluster
)를 만들고 이를 정의할 때 텍스트 상자 안에{{env}}
넣습니다.FROM TableSELECT uniques(machine)WHERE env IN ({{env}}) - 두 변수를 모두 저장합니다.
- 대시보드로 가서 변수 값과 상호 작용하세요. 중첩된 변수 값 선택에 따라 자동으로 변경되어야 합니다.
이제 대시보드의 모든 위젯 내에서 자식 변수를 사용할 수 있습니다. variable_cluster
이 변경되면 위젯도 변경됩니다!
제한 사항
중첩된 변수를 사용할 때는 다음과 같은 제한 사항을 알아두세요.
- 자식 정의에 부모 변수 선택이 필요합니다.
machine
변수를 정의할 때env
변수에 선택된 값이 있는지 확인하세요. 그렇지 않으면machine
쿼리는 결과를 반환하지 않습니다. - 위젯 사용에 필요한 변수 선택: 위젯 내에서 변수를 사용할 때 변수에 선택된 값이 있는지 확인하세요. 그렇지 않으면 위젯의 쿼리는 아무런 결과도 반환하지 않습니다.
- 삭제의 영향:
env
변수가 삭제되면machine
변수를 로드할 때 오류가 표시될 수 있습니다. - 지워진 값:
env
변수의 값이 지워지면machine
변수는env
의 이전 선택에 따라 값을 계속 표시합니다.