여러 데이터 시각화를 위한 로컬 데이터 인스턴스
특수 데이터 시각화 API 데이터 자원을 사용하여 여러 데이터 시각화에 대한 데이터를 동시에 가져올 수 있습니다. 이 데이터 자원은 API 호출 수를 줄여 데이터 가져오기 속도를 높일 수 있습니다.
사용 시기
- 같은 유형의 여러 데이터 시각화에는 동일한 데이터 소스가 있습니다. 예를 들어 시각화 유형이 단일 점수이고 데이터 소스가
필터 active=true가 있는 인시던트 [incident] 테이블인 5개의 시각화가 있습니다. 유형과 데이터 소스가 동일한 표시기 그룹이 여러 개 있는 경우 각 그룹에 대해 동일한 다중 시각화 데이터 자원의 인스턴스를 만들 수 있습니다. - 데이터 시각화에는 동일한 데이터 소스를 참조하는 여러 데이터 자원이 있습니다. 예를 들어 "오픈 인시던트 수" 표시기의 데이터 자원과 "오픈 인시던트의 평균 연령" 표시기의 다른 데이터 자원이 있는 선 시각화가 있습니다. 이 두 표시기 모두 Incident.Open 데이터 소스를 사용합니다. 효율성을 위해 이 시각화를 하나의 데이터 자원만 사용하도록 변환할 수 있습니다.
사용하지 말아야 할 경우
- 페이지에는 UI 빌더 하나의 데이터 시각화만 있습니다.
- 페이지의 데이터 시각화는 데이터를 로드하는 데 시간이 오래 걸릴 수 있습니다. 이 경우 데이터 로드를 별도의 데이터 리소스 간에 분할하여 유지하는 것이 좋습니다.
여러 시각화 데이터 자원 설정
사용 사례가 다중 시각화 데이터 자원에 대한 기준을 충족하는 경우 다음 절차를 따를 수 있습니다.
시작하기 전에
에서 여러 데이터 시각화를 위한 로컬 데이터 인스턴스여러 시각화에 대한 단일 데이터 자원의 사용 사례를 검토합니다.
필요한 역할: ui_builder_admin, admin
이 태스크 정보
프로시저
동일한 데이터 소스를 사용한 3개의 단일 점수 시각화를 위한 데이터 자원
이 예에서는 세 개의 데이터 시각화 구성요소가 포함된 UIB 페이지로 시작합니다. 이러한 구성요소는 모두 단일 점수 시각화 유형에 속하며 모두 동일한 데이터 소스를 사용합니다.
6단계까지 일반 절차를 따릅니다. 이제 대시보드 페이지에 여러 데이터 시각화를 위한 데이터 시각화 API가 있습니다.
[
{
"details": {
"visualizationId": "vis_1",
"followFilter": true
},
"configurations": {
"dataConfigurations": [
{
"sourceType": "table",
"dataCategory": "simple",
"order": 0,
"tableOrViewName": "incident",
"aggregateFunction": "COUNT"
}
]
}
},
{
"details": {
"visualizationId": "vis_2",
"followFilter": true
},
"configurations": {
"dataConfigurations": [
{
"sourceType": "table",
"dataCategory": "simple",
"order": 0,
"tableOrViewName": "incident",
"aggregateFunction": "AVG",
"aggregateField": "business_duration"
}
]
}
},
{
"details": {
"visualizationId": "vis_3",
"followFilter": true
},
"configurations": {
"dataConfigurations": [
{
"sourceType": "table",
"dataCategory": "simple",
"order": 0,
"tableOrViewName": "incident",
"aggregateFunction": "AVG",
"aggregateField": "priority"
}
]
}
}
]요청은 각 데이터 시각화에 대해 하나씩 객체의 배열입니다. 각 시각화에는 시각화가 details 페이지의 필터 구성 요소를 따르는지 여부에 대한 visualizationId 임의 값과 부울 followFilter 설정이 있는 속성이 있습니다. 이 경우 세 가지 시각화는 모두 필터를 따릅니다.
각 시각화에는 configurations 배열만 포함하는 속성도 있습니다.dataConfigurations 모든 시각화는 동일한 유형인 단일 점수이고 이 시각화 유형은 단순한 값만 표시하므로 세 가지 dataCategory 속성은 모두 "단순"입니다. 마찬가지로 모든 시각화는 동일한 데이터 소스를 사용합니다. 데이터 소스가 인시던트 [incident] 테이블이므로 세 가지 시각화 모두 "테이블"과 tableOrViewName "인시던트"가 있습니다sourceType. 시각화가 달라질 수 있는 유일한 영역은 시각화에서 사용하는 집계입니다. 첫 번째는 COUNT 집계를 사용하고, 두 번째는 business_duration 필드에서 AVG 집계를 사용하고, 세 번째는 우선순위 필드의 AVG를 사용합니다.
vizId 값으로 사용합니다.function evaluateProperty({api, helpers}) {
const data = api.data.data_visualization_api_for_multiple_data_visualizations_1.output;
if (!data) {
return [];
}
const vizId = 'vis_1';
const dataForViz = data.result.find(d => d.details.visualizationId === vizId);
return dataForViz.dataResponses;
}표시기에 대한 JSON 요청
[
{
"details": {
"visualizationId": "vis1",
"followFilter": true
},
"configurations": {
"dataConfigurations": [
{
"sortBy": "choice",
"sortOrder": "asc",
"sourceType": "indicator",
"dataCategory": "trend",
"order": 0,
"splitView": false,
"numberOfGroups": 2,
"uuid": {
"indicator": "fb007202d7130100b96d45a3ce6103b4",
"breakdowns": []
},
"trendBy": "anything",
"trendInterval": "date",
"groupBy": [
"0df47e02d7130100b96d45a3ce610399"
],
"removeMissingIntervalData": false
}
]
}
}
]첫 번째이자 명백한 차이점은 " sourceType 지표"이고 " dataCategory 추세"라는 것입니다. 또한 속성 대신 tableOrViewName 오픈 인시던트 수 표시기의 UUID와 해당 표시기를 필터링하기 위한 세부 항목의 UUID를 보유할 수 있는 빈 배열이 있는 객체가 있음을 uuid 알 수 있습니다. 이 시각화는 그룹화 기준 값을 지원하므로 이 경우 우선순위 세부 항목의 UUID만 포함하는 배열이 있습니다 groupBy . 그룹 기준이 있다는 것은 정렬을 의미하며, 여기서는 우선순위 세부 항목 sortOrder 의 데이터 유형을 반영하는 "선택"이고 오름차순임을 알 sortBy 수 있습니다.