Share via


보고서 처리기

보고서 처리기는 보고서뿐 아니라 임시 보고에 사용되는 보고서 모델도 처리하는 보고서 서버 인스턴스의 내부 구성 요소입니다.

보고서 처리 개요

보고서 처리란 보고서 정의 내의 정적인 명령을 최종 표시 형식으로 표시되는 렌더링된 보고서로 변환하는 일련의 처리 단계입니다. 다음 다이어그램에서는 보고서 처리의 단계 및 요소를 보여 줍니다.

보고서 처리 다이어그램

보고서 처리 다이어그램

요청을 통해서나 밀어넣기 액세스를 통해 보고서에 액세스하면 보고서 서버는 종단 간 처리를 수행하거나 나중에 특정 형식으로 보기 위해 미리 처리된 다음 중간 형식으로 저장된 보고서를 반환합니다. 보고서 실행 설정에 따라 어떤 결과가 발생할지 결정됩니다. 보고서 서버 관리자가 보고서를 캐시에서 또는 스냅숏으로 액세스하도록 지정하면 보고서 서버 데이터베이스에서 중간 형식을 가져온 다음 표시용으로 렌더링합니다. 그렇지 않으면 처리의 모든 단계가 수행됩니다.

보고서 처리 요청

보고서 프로세서는 다음과 같은 요청에 응답합니다.

  • 요청 시 실행 보고서에 대한 요청. 요청 시 실행되도록 구성된 보고서를 사용자가 열면 보고서 서버의 보고서 처리가 트리거됩니다. 보고서 프로세서는 보고서 정의를 검색하여 데이터 요청을 데이터 처리 확장 프로그램에 보내고, 보고서 정의와 데이터를 결합하여 이를 렌더링 확장 프로그램으로 보내 렌더링된 보고서를 반환합니다. 모델 기반 보고서의 경우 사용자 동작에 대한 응답으로 요청 시 보고서 처리가 발생하기도 합니다. 모델 기반 보고서에서 데이터 경로를 탐색하는 사용자는 임시 클릭 방문 보고서에 대한 일련의 요청을 트리거합니다.

  • 캐시된 보고서에 대한 요청. 캐시된 보고서 처리는 웹 서비스 내에서 수행되는 요청 시 보고의 변형입니다. 캐시된 복사본에서 실행되도록 구성된 보고서를 사용자가 열면 캐시된 복사본이 만료된 경우 보고서 처리가 트리거됩니다. 이 경우 보고서가 다시 처리되어 캐시에 다시 추가된 다음 사용자 브라우저로 전송됩니다.

  • 일정 예약 및 배달 프로세서에서의 요청. 예약된 보고서 처리는 보고서 서버에 의해 시작되며 백그라운드에서 실행됩니다. 보고서 처리 및 배달에 대한 모든 밀어넣기 액세스는 보고서 서버의 일정 예약 및 배달 프로세서 구성 요소에서 처리하는 일정 및 이벤트를 통해 구동됩니다. 요청이 수신되면 보고서 프로세서는 보고서 정의를 검색하여 데이터 요청을 데이터 처리 확장 프로그램에 전송하고, 보고서 정의와 데이터를 결합하고, 컴파일한 보고서를 보고서 서버 데이터베이스에 저장합니다.

보고 처리 단계

보고서 실행 중에 보고서 서버는 보고서 처리, 데이터 처리 및 렌더링의 3단계에 따라 보고서를 처리합니다. 데이터 및 보고서 처리는 보고서 정의에서 수행되며 중간 형식의 보고서를 만듭니다. 중간 형식의 보고서는 이후에 특정 보기 형식으로 렌더링됩니다.

보고서 정의 검색

보고서 처리는 게시된 보고서 정의에서 시작됩니다. 보고서 정의에는 쿼리, 레이아웃 정보 및 코드 참조나 식이 하나 이상 포함되어 있습니다. 보고서 프로세서는 보고서 서버 데이터베이스에서 보고서 정의를 가져오고, 식에 포함된 매개 변수 및 변수를 초기화하고, 데이터에 대한 보고서를 준비하는 기타 예비 처리를 수행합니다. 그런 다음 데이터 처리 확장 프로그램에서 데이터 원본에 연결하여 데이터를 검색합니다.

데이터 처리

데이터 처리는 데이터베이스 서버에서 수행됩니다. 보고서에서 정적 데이터 파일이나 XML 문서를 검색하면 데이터 처리는 이러한 파일을 가져오고 데이터를 보고서 서버에 반환하는 작업으로 제한될 수 있습니다.

데이터 및 레이아웃을 중간 형식으로 병합

반환된 데이터는 보고서 정의의 레이아웃 정보와 병합되어 빠른 검색을 위해 저장하거나 렌더링 확장 프로그램으로 보내 사용자에게 표시되는 형식으로 처리할 수 있는 중간 형식의 보고서를 생성합니다. 데이터는 각 구역의 행별로 처리됩니다. 구역에는 보고서 머리글과 바닥글, 그룹 머리글과 바닥글 및 상세 정보가 있습니다. 집계 함수 및 식도 이때 처리됩니다.

스냅숏으로 실행되도록 구성되었거나 보고서 기록에 유지되는 보고서는 항상 중간 형식으로 저장됩니다. 여기에는 중간 형식이 저장될 때 보고서에서 최신 상태였던 데이터 및 레이아웃 정보가 포함됩니다.

보고서 서버는 다양한 방법을 통해 중간 형식을 사용할 수 있습니다. 캐싱, 스냅숏 및 보고서 기록은 모두 중간 형식으로 저장된 보고서를 사용하는 기능입니다. 중간 형식은 이식 가능합니다. 즉, 보고서 서버에서 지원되며 보고서 서버에 배포된 어떠한 내보내기 형식으로도 렌더링할 수 있습니다.

[!참고]

중간 형식은 내부 응용 프로그램 형식입니다. 사용자 지정 응용 프로그램에서 이 형식의 보고서를 사용하려면 스냅숏을 만들거나 검색하는 프로그래밍 인터페이스를 사용해야 합니다.

보고서 렌더링

보고서를 중간 형식으로 저장한 후 표시 형식으로 렌더링할 수 있습니다. 렌더링된 보고서는 공용 언어 런타임 어셈블리로 컴파일되거나 보고서 서버에서 실행됩니다.

렌더링 단계 중에 렌더링 확장 프로그램에서 보고서에 페이지를 매기고 실행 단계 중에 처리할 수 없는 식을 처리합니다. 그러면 보고서가 해당 장치에 고유한 형식으로 렌더링됩니다.

모델 처리 및 클릭 방문 보고서

보고서는 보고서 모델을 기본 데이터 원본에 대한 인터페이스로 사용할 수 있습니다. 모델은 메타데이터를 지정하며, 데이터 연결을 정의하는 공유 데이터 원본에 대한 참조를 포함합니다. 모델 처리는 다음의 사용자 동작이 수행될 때마다 보고서 서버에서 발생합니다.

  • 보고서 작성기에서 모델 탐색

  • 보고서 작성기에서 보고서를 작성할 때 모델 데이터 쿼리

  • 보고서 서버에 저장된 클릭 방문 보고서 탐색

클릭 방문 보고서에 대한 처리는 보고서 정의 처리와 비슷하지만, 서버에 게시된 보고서 정의가 아닌 모델을 통해 보고서를 자동으로 생성한다는 점이 다릅니다. 데이터 처리는 중요한 데이터를 검색하는 모델을 통해 시작됩니다.