410 likes | 556 Views
Reporting Service Report 작성과 관리. ® REY Consulting 권 혁수 컨설턴트 (hskwon@rey.co.kr). Agenda. Report 의 작성 각 컨트롤의 기본 사용방법 성능 향상을 위한 방법 Cache & Snapshot Parameter & Filter WebService API 를 이용한 기능 확장. ReportServer. RS 의 구성. User. Report Author. SMTP. IIS. Visual Studio.NET. ReportManager.
E N D
Reporting Service Report 작성과 관리 ®REY Consulting 권 혁수 컨설턴트(hskwon@rey.co.kr)
Agenda • Report의 작성 • 각 컨트롤의 기본 사용방법 • 성능 향상을 위한 방법 • Cache & Snapshot • Parameter & Filter • WebService API를 이용한 기능 확장
ReportServer RS의 구성 User Report Author SMTP IIS Visual Studio.NET ReportManager ReportServer Report Designer ReportServerDataBase DataBase Report Designer
Report만들기 • Report작성 순서 • DataSource 지정(DB연결정보) • DataSet 처리 • 패러미터정의 • 컨트롤의 배치 및 DB필드 연결 • 제어구조 삽입 • 테스트 후 배포
DataSource지정 • 다양한 DataSource 지원 • 하나의 Report에 대해 여러 데이터베이스로 부터 가져온 데이터를 할당할 수 있다. • 지원되는 DataBase • SQLServer(7.0, 2000, Yukon) • Analysis Services(Yukon) • OLE DB, ODBC, Oracle등과 같은 .NET Data Provider
다양한 DataSource • 하나의 Report에 대해 여러 데이터 소스로부터 생성된 여러 Dataset을 사용할 수 있다. • 지원되는 DataBase • SQL Server (7.0, 2000, Yukon) • Analysis Services (2000 w/XML/A, Yukon) • OLE DB, ODBC, Oracle 등과 같은 .NET data providers • SQL Server나 OLE DB를 위한 Query Builder를 이용한 쿼리 생성지원 • 직접 작성한 쿼리 • 패러미터를 이용한 동적인 결과 처리
DataSet 만들기 • 데이터의 저장소 • DataSource에서 지정한 데이터 베이스에서 쿼리를 이용해 RowSet생성 • 쿼리를 생성하기 위해 사용하는 방법 • Query Builder • Stored Procedure • 패러미터를 이용한 쿼리 • OLAP의 MDX지원
Data Set만들기 • DataSource로 부터 쿼리를 이용해 RowSet생성 • 쿼리를 생성하기 위해 사용하는 방법 • Query Builder • 외부에서 생성 • 패러미터를 이용한 쿼리 • StoredProcedure사용 가능 • OLAP의 MDX지원
Page 구성 • Free-form구성 • 특별한 형태 없이 자유로이 페이지 구성 • 페이지 구분에 대한 기준은 정해져 있지 않으며, 필요에 따라 페이지 구분 지정 가능 • 어떤 Report아이템은 실행시간에 확장되며, 다른 Report아이템의 layout을 흩트릴 수 있다. • Page 기준 • 논리적, 물리적 Page 기준 지원 • Page Header와 Footer 지원
Report Items \100,000 • Textbox • Image • Line • Rectangle • Subreport • 데이터 항목(List, Table, Matrix, Chart)
모든 Item 공통항목 Background Color* Background Image* Border Color* Border Style* Border Width* Color* Padding* Textbox Can Grow Font Family* Font Size* Font Style* Font Weight* Format* Hide Duplicates Line Height* Text Align* Text Decoration* Vertical Align* Item Properties *수식(Expression)을 이용한 제어가 가능한 항목
Tables • List항목과 유사하지만Column을 가지는 점이다르다. • Column은 고정되고항목의 숫자에 따라 Row가 증가 • 생성되는 Cell의 용도에 따라 합치는 등 디자인을 변경하는 것이 가능 • Table의 Cell은 Report를 구성하는 어떤 요소라도 넣을 수 있다. • List보다 작고 빠르다. • 항목들을 정렬하기 편리하다. • 대부분의 Report에서 가장 많이 사용된다.
Header Group Footer Table만들기 • Table의 Cell로 필요한 Fileds 끌어놓기 • Table의 구조를 이해해야 한다. • Group항목을 이용 Detail항목의 합 구현 • 하나의 테이블에 여러 단계의 그룹지정 가능 Detail
함수(function) • 페이지를 구성하는 각 요소에 대해 함수를 적용해 필요한 형태로 구성 • VB.NET의 함수 형태사용
수식(Expressions) • 대부분의 속성값은 수식을 이용한 값 제어 가능 • 수식은 VisualBasic.NET의 형식사용 • DataSet, 다른 Report의 Item, 전역변수나 사용자지정 속성값들을 모두 사용할 수 있다. • 사용함수: Sum, Avg, Count, Min, First 등등 • 예) • =Fields!Name.Value • =Fields!First.Value & " " & Fields!Last .Value • =Sum(Fields!Sales.Value) • =IIF(Sum(Fields!Sales.Value)>10, "green", "red")
판단 • 동적으로 Report포멧을 지정하는 경우 • 일반적사용 • 음수는 붉은색, 양수는 푸른색 • Report줄간 색깔 처리 • 현재 TextBox의 값은 Me.value를 사용 • 단순판단 • =IIf(조건, “True”, “False”) • DB의 Null체크 • isDBNull 함수 사용
Report내에서의 수식 사용 • 사용되는 항목에 따라 • DataBase의 Filed값 • =Fields!FiledsName.Value • 패러미터값 • =Parameters!ParamName.Value • 전역변수값 • =Globals!GlobalParam.Value • Report항목값 • =ReportsItems!ItemName.Value
Lists Brian $10,000 Jason $20,000 • 일정한 형태로반복되는 항목 표현 • 다른 Report툴의 “bands”와 유사 • List내의 list는 다중 그룹 형태로 표현 • 복잡한 형태의 항목들을 표현 Steve $30,000
Matrices • Row와 Column항목모두 반복되어내용을 표현한다. • 흔히 PivotTable이나 CrossTab이라고 부른다. • 헤더부분이나 각 항목에 대해 임의의 디자인을 적용할 수 있다. • 각 Cell은 Report를 구성하는 어떤 요소라도 넣을 수 있다. • 데이터를 이용해 컬럼의 헤더 정보를 표현(다양한 관점에서 데이터 분석)
Charts • DataSet내의 데이터 혹은 표현식을 이용해 표현 • 일반적으로 쓰이는 기본 형태의 챠트 표현 가능 • Dundas챠트 사용
SubReport • 다양한 형태의 Report구성 • 공통적으로 사용되는 페이지블록
Image • Image의 사용 • Image를 저장하는 방법에 따라 다음과 같이 구별 • Embaded : Report자체에 저장 • Project(External) : Project공용 • DataBase : DataBase image타입 컬럼
Reporting Services 컴포넌트 Client Utilities Report Designer Browser Report Manager http://<server>/reports URL Access SOAP Endpoint reportservice.asmx WMI Win32 Service Web Service (IIS / ASP.NET) http://<server>/reportserver Delivery Shared Components Data Retrieval Rendering Security SQL Server Database / SQL Server Agent
Report 관리 • 웹과 Win32 관리용 사용자 인터페이스 • Report 관리 기능 • Report 속성제어 (Name, Description, Connections, Credentials, Parameters) • SQL Server Agent를 이용한 스케쥴링 • 실행속성 (실시간, 캐쉬처리 혹은 snapshot) • 이전 실행결과에 대한 History관리 지원 • 확장가능한 Role기반의 보안 모델지원 • 관리를 위한 Web Service APIs
Report관리 • Report관리자 • http://<ServerName>/reports
결과Report 중간Report . 배포된Report Report 실행 순서 • Report의 실행은 배포된 Report가 실제 Report로 변환되는 과정이다. • 임시 Report는 이미 데이터 처리가 끝난 상태 Render엔진으로 데이터가 전달되고 사용자가 지정한 Format으로 결과 생성 • 임시Report를 생성하는 시점을 제어함으로써 성능을 향상시킬 수 있다.
Rendered Report Intermediate Report . Published Report 실시간 Report생성 • 사용자가 페이지를 요청하는 순간 Report생성 • 항상 최신의 데이터를 이용해 Report생성 • 시간이 많이 걸리는 쿼리 때 성능 문제 발생 Report 요청 Report Server Session Cache
성능향상을 위한 처리 • Cache • 처음 Report를 호출할때 생성됨. • 지정된 시간 만큼 유지 • Snapshot • 일정을 이용해 생성되며 갱신
Rendered Report 다른 Report 요청 Intermediate Report . Published Report Cache를 이용한 Report생성 • Cache에 임시 Report가 생성되며, 지정된 시간동안 유지된다. • 이미 임시 Report가 생성되어 있으므로 여기에서 다른 요청을 처리하면 속도 향상 첫 Report 요청 Report Server Cache
Rendered Report Report 요청 Intermediate Report . Published Report Snapshot을 이용한 Report생성 • 스케쥴에 의한 임시 Report생성 Snapshot 생성 Report Server Snapshot Cache
Parameter와 Filter • Query Parameter • DataSet을 생성할 때 사용하는 패러미터 • 캐쉬나, Snapshot을 생성할 때 패러미터에 따라 다른 임시 Report가 생성된다. • 패러미터의 값이 다르면 다른 Cache가 생성된다. • Filter • 임시 Report에 적용되어 결과 생성
demo 관리페이지(Snapshot & Cache)
Web Service • Web Service를 통한 관리 • RS WebService API • Custom App작성 • 기능의 확장
RS WebService APIWeb Service Reference http://[servername]/ReportServer/ Reportservice.asmx?wsdl • Proxy는 VS.NET을 이용해 생성 • XSD를 이용해 복잡한 타입들 자동생성 • 동기호출 및 비동기 호출 지원 • SOAP Headers • Session ID • Server Info • Batch ID
Web Service? • HTTP + XML • Reporting Service의 기본구조 • WinForm & WebForm과 같은 다른 플랫폼 사이의 데이터 전송 • 다양한 형태의 플랫폼 지원
Namespace 관리 Item 속성값제어 Report 실행 Report 패러미터처리 Report 히스토리 Data Source 관리 스케쥴 처리 구독설정과 배포 리포트 연결 작업관리 Security 설정 Web Service Interfaces
여기서 부터 시작!!Web Service Reference http://[servername]/ReportServer/ Reportservice.asmx?wsdl • Proxy는 VS.NET을 이용해 생성 • XSD를 이용해 복잡한 타입들 생성 • 동기호출 및 비동기 호출 지원 • SOAP Headers • Session ID • Server Info • Batch ID
Getting StartedWeb Service - 인증 • Authentication • 기본 인증 • System.Net.NetworkCredentials MyServer. ReportingService rs = New MyServer. ReportingService(); rs.Credentials = new System.Net.NetworkCredential ("user", "pwd", "domain"); • 통합 인증 • System.Net.CredentialCache MyServer. ReportingService rs = New MyServer. ReportingService(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
WebService응용 • ServerInformation읽기 • Custom 프로그램 작성 • 검색 • 현재 사용가능한 Report? • Report에 필요한 Parameter는? • 관리 • 배포 중인 페이지는? • 이 페이지의 보안 셋팅은? • 웹 서비스를 이용한 정보 호출
demo 간단한 웹 서비스 응용 App
© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.