대시보드 페이지 템플릿에 전역 필터 전달

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 1분
  • 전역 필터는 대시보드로 전송되어 대시보드 내의 시각화에 대한 필터 역할을 합니다. 이러한 필터는 대시보드의 기존 필터와 병합됩니다.

    이 태스크 정보

    전역 필터는 대상 대시보드의 시각화에 적용되는 필터입니다. 이러한 필터는 모든 관련 데이터 시각화에 적용됩니다. globalFilter에 전달된 값의 형식은 {encodedQueries: 'encoded-queries-string', filters: 'PAR-Filter'}의 문자열화된 형식입니다. encodedQueries와 필터는 내부적으로 필터로 플랫폼 분석 변환되고 대시보드의 기존 필터와 병합됩니다.
    encodedQueries, 필터 또는 둘 다 지정할 수 있습니다. 다음 예제에서 동등한 encodedQueries필터 값은 모두 상태 필드 값 1 또는 2를 기반으로 인시던트 [incident] 테이블의 레코드를 표시하는 시각화를 필터링합니다.
    JSON.stringify({
        encodedQueries: {incident: 'stateIN1,2'},
        parFilters: [{ order: 0, apply_to: ['incident.state'], values: ['1', '2'] }]
    })

    페이지의 대시보드에 UI 빌더 대한 링크를 구성하여 이미 필터링된 대시보드를 엽니다.

    시작하기 전에

    필요한 역할: admin

    프로시저

    1. 전역 필터를 추가할 항목으로 UI 빌더 이동합니다.
    2. 지정된 sys_ID 있는 대시보드를 가리키도록 페이지의 하이퍼링크나 버튼(또는 다른 항목)의 동작을 구성합니다.
      이 예에서 sys_ID는 1238입니다.

      showInfoMessage 매개 변수(예인 경우)는 필터가 전달될 때 링크된 대시보드에 구성된 infoMessage를 표시합니다.

      api.emit('NAV_ITEM_SELECTED', {
              route: 'dashboards',
              params: {
                  sysId: '1238',
                  unifiedFilters: JSON.stringify({
                      showInfoMessage: true, // default false
                      infoMessage: 'custom info message', // if not passed and if showInfoMessage is true then the default message is displayed
                      encodedQueries: {
                          incident: 'priority=1'
                      },
                  })
              }
          });