자습서: 기본 테이블 보고서 만들기(보고서 작성기)
SSRS(SQL Server Reporting Services)에서 Report Builder를 사용하여 SQL 데이터에 대한 테이블 보고서를 만들 수 있습니다. 이 자습서에서는 샘플 판매 데이터를 기반으로 기본 테이블 보고서를 만드는 방법을 보여줍니다.
이 자습서에서는 다음을 수행합니다.
- 마법사 단계에 따라 테이블 보고서 만들기
- 테이블 데이터의 포함된 원본 식별
- 쿼리를 실행하여 데이터 값 가져오기
- 테이블 데이터 구성 및 서식 지정, 합계 추가
- 보고서 디자인 및 저장
- Microsoft Excel에서 내보낸 보고서 검토
이 자습서에 소요되는 예상 시간은 20분입니다.
다음 그림에서는 이 자습서에서 만든 테이블 보고서를 보여줍니다.
필수 조건
요구 사항에 대한 자세한 내용은 자습서의 사전 요구 사항(Report Builder)을 참조하세요.
테이블 또는 행렬 마법사를 사용하여 테이블 보고서 만들기
테이블 또는 행렬 마법사를 사용하여 테이블 보고서를 만들 수 있습니다. 마법사에는 보고서 및 공유 데이터 세트와 같은 두 가지 디자인 모드가 있습니다. 보고서 디자인 모드에서는 보고서 데이터 창에서 데이터를 지정하고 Design Surface에서 보고서 레이아웃을 구성합니다. 공유 데이터 세트 디자인 모드에서는 다른 사용자와 공유할 데이터 세트 쿼리를 만듭니다. 이 자습서에서는 보고서 디자인 모드를 사용합니다.
마법사를 시작하고 기본 테이블 보고서를 만듭니다.
컴퓨터, Reporting Services 웹 포털 또는 SharePoint 통합 모드에서 Report Builder를 시작합니다.
새 보고서 또는 데이터 세트 대화 상자가 열립니다. 대화 상자가 열리지 않으면 파일>새로 만들기를 선택합니다.
새 보고서 탭을 선택하고 오른쪽 창에서 테이블 또는 행렬 마법사를 선택합니다.
데이터 연결 지정
데이터 연결은 SQL Server 데이터베이스와 같은 외부 데이터 원본에 연결하는 데 필요한 정보를 포함합니다. 일반적으로 데이터 원본 소유자로부터 사용할 연결 정보 및 자격 증명 유형을 가져옵니다. 데이터 연결을 지정하기 위해 보고서 서버의 공유 데이터 원본을 사용하거나 이 보고서에만 사용되는 포함된 데이터 원본을 만들 수 있습니다.
이 자습서에서는 포함된 데이터 원본을 사용합니다. 공유 데이터 원본 사용 방법에 대한 자세한 내용은 데이터에 연결하는 다른 방법(Report Builder)을 참조하세요.
데이터 연결을 위해 포함된 데이터 원본을 만듭니다.
데이터 세트 선택 페이지에서 데이터 세트 만들기 옵션을 선택한 후, 다음을 선택합니다.
데이터 원본에 대한 연결 선택 페이지에서 새로 만들기를 선택합니다.
데이터 원본 속성 대화 상자의 일반 탭에서 다음 속성을 설정합니다.
데이터 원본의 이름 속성을 Product_Sales로 설정합니다.
연결 유형 선택 속성에서 Microsoft SQL Server가 선택되었는지 확인합니다.
연결 문자열 속성의 경우 다음 값을 입력합니다. 여기서
<servername>
은 SQL Server 인스턴스의 이름입니다.Data Source=<servername>
데이터베이스에서 데이터를 검색하는 대신, 데이터가 포함된 쿼리를 사용하므로 연결 문자열은 데이터베이스 이름을 포함하지 않습니다. 자세한 내용은 자습서의 사전 요구 사항(Report Builder)을 참조하세요.
자격 증명 탭으로 전환하고 데이터 원본에 대한 기본 액세스 방법을 선택합니다. 필요에 따라 자격 증명을 입력합니다.
일반 탭에서 연결 테스트를 선택하여 데이터 원본에 연결할 수 있는지 확인합니다.
"연결이 성공적으로 생성되었습니다."라는 팝업 메시지가 표시됩니다. 확인을 선택하여 팝업 메시지를 지웁니다.
데이터 원본 설정을 완료하려면 확인을 선택합니다.
마법사에서 계속하려면 다음을 선택합니다.
쿼리 만들기
보고서에서는 미리 정의된 쿼리가 포함된 공유 데이터 세트를 사용하거나 해당 보고서에만 사용할 포함된 데이터 세트를 만들 수 있습니다. 이 자습서에서는 포함된 데이터 세트를 만듭니다.
참고 항목
이 자습서 예제에서 쿼리는 데이터 값을 포함하므로 외부 데이터 원본이 필요하지 않습니다. 이 접근 방식을 사용하면 쿼리가 상당히 길어지지만 학습 목적으로는 유용합니다. 표준 비즈니스 환경에서 쿼리는 데이터 값을 포함하지 않습니다.
다음 단계에 따라 쿼리를 만듭니다.
쿼리 디자인 페이지에 관계형 쿼리 디자이너가 열립니다. 이 자습서에서는 텍스트 기반 쿼리 디자이너를 사용합니다.
텍스트로 편집을 선택합니다. 텍스트 기반 쿼리 디자이너에서는 쿼리 창과 결과 창을 표시합니다.
다음 Transact-SQL 쿼리를 맨 위 필드에 붙여넣습니다.
SELECT CAST('2009-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(9924.60 AS money) AS Sales, 68 as Quantity UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2009-01-11' AS date) as SalesDate, 'Accessories' as Subcategory, 'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Mini Battery Charger' as Product, CAST(1056.00 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2009-01-06' AS date) as SalesDate, 'Accessories' as Subcategory, 'Telephoto Conversion Lens' as Product, CAST(1380.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2009-01-06' AS date) as SalesDate,'Accessories' as Subcategory, 'USB Cable' as Product, CAST(780.00 AS money) AS Sales, 26 as Quantity UNION SELECT CAST('2009-01-08' AS date) as SalesDate, 'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(3798.00 AS money) AS Sales, 9 as Quantity UNION SELECT CAST('2009-01-09' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Business Videographer' as Product, CAST(10400.00 AS money) AS Sales, 13 as Quantity UNION SELECT CAST('2009-01-10' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Social Videographer' as Product, CAST(3000.00 AS money) AS Sales, 60 as Quantity UNION SELECT CAST('2009-01-11' AS date) as SalesDate, 'Digital' as Subcategory, 'Advanced Digital' as Product, CAST(7234.50 AS money) AS Sales, 39 as Quantity UNION SELECT CAST('2009-01-07' AS date) as SalesDate, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10836.00 AS money) AS Sales, 84 as Quantity UNION SELECT CAST('2009-01-08' AS date) as SalesDate, 'Digital' as Subcategory, 'Consumer Digital' as Product, CAST(2550.00 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2009-01-05' AS date) as SalesDate, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2009-01-09' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'SLR Camera 35mm' as Product, CAST(18530.00 AS money) AS Sales, 34 as Quantity UNION SELECT CAST('2009-01-07' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'SLR Camera' as Product, CAST(26576.00 AS money) AS Sales, 88 as Quantity
쿼리 디자이너 툴바에서 실행(!)을 선택합니다.
쿼리가 실행되고 SalesDate, Subcategory, Product, Sales 및 Quantity 필드에 대한 결과 집합이 표시됩니다.
결과 집합에서 열 제목은 쿼리의 이름을 기반으로 합니다. 데이터 세트에서 열 제목은 필드 이름이 되고 보고서에 저장됩니다. 마법사를 완료한 후 보고서 데이터 창에서 데이터 세트 필드 모음을 볼 수 있습니다.
마법사에서 계속하려면 다음을 선택합니다.
데이터를 그룹으로 구성
그룹으로 구성할 데이터 필드를 선택할 때 세부 정보 데이터와 집계 데이터를 표시하는 행과 열로 구성된 행렬을 디자인합니다. 다음 절차에서 처음 두 단계에서는 테이블에 표시할 데이터 값을 지정하고 마지막 두 단계에서는 값을 구성합니다.
필드 정렬 페이지에서 테이블 데이터를 그룹으로 구성합니다.
사용 가능한 필드 상자에서 Product 필드와 Quantity 필드를 값 상자로 끌어옵니다. Product 필드 뒤의 Quantity 필드를 배치합니다.
Sum 함수는 Quantity 데이터를 자동으로 집계합니다. 이는 숫자 필드의 기본 집계 기능입니다. 값은 [Sum(Quantity)]입니다.
팁
[Sum(Quantity)] 집계 옆에 있는 드롭다운 화살표를 선택하여 다른 집계 함수를 볼 수 있습니다. 이 연습에서는 집계 함수를 Sum으로 설정합니다.
Sales 필드를 값 상자로 끌어 [Sum(Quantity)] 집계 뒤에 배치합니다.
Sum 함수는 Sales 데이터를 집계합니다. 값은 [Sum(Sales)]입니다.
SalesDate 필드 및 Subcategory 필드를 차례로 행 그룹 상자로 끕니다. SalesDate 필드 뒤에 Subcategory 필드를 배치합니다.
마법사에서 계속하려면 다음을 선택합니다.
소계 및 총계 행 추가
그룹을 만든 후 필드에 대한 집계 값을 표시할 행을 추가하고 서식을 지정할 수 있습니다. 모든 데이터를 표시할지 또는 사용자가 그룹화된 데이터를 대화형으로 확장하거나 축소할 수 있도록 할지 여부를 선택할 수 있습니다.
다음 단계에 따라 테이블 데이터에 대한 소계 및 총계를 추가합니다.
레이아웃 선택 페이지의 옵션에서 다음 옵션을 구성합니다.
소계 및 총계 표시 옵션을 선택합니다.
블록형, 소계 아래 옵션을 선택합니다.
그룹 확장/축소 옵션을 선택 취소합니다.
이 자습서에서 만든 보고서는 드릴다운 기능을 사용하지 않습니다. 이 기능을 사용하면 부모 그룹 계층을 확장하여 자식 그룹 행 및 세부 정보 행을 표시할 수 있습니다.
다음을 선택하여 미리 보기 창에서 테이블을 확인합니다. 보고서를 실행할 때 테이블 레이아웃을 보여주는 5개의 행이 표시됩니다.
첫 번째 행은 열 제목을 표시하기 위해 테이블에서 한 번 반복됩니다.
두 번째 행은 제품 이름, 주문 수량 및 라인 합계를 표시하기 위해 판매 주문의 각 품목에서 한 번 반복됩니다.
세 번째 행은 범주당 소계를 표시하기 위해 각 판매 주문 범주에서 한 번 반복됩니다.
네 번째 행은 일별 소계를 표시하기 위해 각 주문 날짜에서 한 번 반복됩니다.
다섯 번째 행은 총계를 표시하기 위해 테이블에서 한 번 반복됩니다.
마침을 선택합니다.
Report Builder는 Design Surface에 테이블을 추가합니다. 이 테이블에는 열 5개와 행 5개가 있습니다. 행 그룹 창에는 SalesDate, Subcategory 및 Details와 같은 세 개의 행 그룹이 표시됩니다. 세부 정보 데이터는 데이터 세트 쿼리가 검색하는 모든 데이터입니다.
마법사 프로세스가 완료되었으며 이제 샘플 데이터가 포함된 테이블 보고서가 준비되었습니다. 다음 섹션에서는 특정 테이블 데이터의 서식을 지정하여 독자에게 유용한 양식으로 값을 표시합니다.
테이블 데이터 형식 지정
Report Builder는 숫자, 날짜, 시간 등과 같은 기본 형식을 사용하여 보고서에 테이블 데이터 값을 표시합니다. 홈 탭의 서식 기능을 사용하여 테이블 데이터가 표시되는 방식을 변경할 수 있습니다.
일반 숫자보다는 현지 통화로 통화 값 서식을 지정하는 것이 유용할 수 있습니다. 또 다른 시나리오로, 짧은 시간 동안 값의 변경 내용을 요약하는 테이블 데이터가 있습니다. 이 경우 데이터를 분 또는 시간 단위로만 표시하고 월, 일 및 연도도 표시하지 않는 것이 더 유용할 수 있습니다.
다음 섹션에서는 서식 기능을 사용하여 보고서에서 테이블 날짜 표시 방식을 변경하는 방법을 보여줍니다. 서식 있는 입력란 및 개체 틀 텍스트는 디자인 보기에 샘플 값으로 표시됩니다.
통화 값 표시
기본값으로 Sales 필드의 요약 데이터는 테이블 보고서에서 일반 숫자로 표시됩니다. 통화 형식을 적용하여 값을 보다 적절하게 표현할 수 있습니다.
다음 단계에 따라 테이블 데이터의 서식을 통화로 지정합니다.
Report Builder에서 테이블 보고서에 있는 Sales 열 머리글을 선택합니다.
홈 탭의 숫자 그룹에서 개체 틀 스타일([123])을 선택한 다음, 샘플 값을 선택합니다.
테이블 보고서의 Sales 열에서
[Sum(Sales)]
값을 포함하는 4개의 셀을 다중 선택합니다.홈 탭의 숫자 그룹에서 통화($)를 선택합니다. 선택한 셀은 통화 형식을 사용하여 데이터 값을 표시하도록 변경됩니다.
지역 설정이 영어(미국)인 경우 기본 샘플 텍스트는 달러 값(
[$12,345.00]
)을 표시합니다.통화 값 예제가 표시되지 않으면 셀의 개체 틀 스타일을 확인합니다. 홈 탭의 숫자 그룹에서 개체 틀 스타일([123]) 옵션이 샘플 값으로 설정되었는지 확인합니다.
홈 탭에서 실행을 선택하여 보고서를 미리 봅니다.
Sales 열의 요약 값이 통화로 표시되는지 확인합니다. 다음은 보고서의 예제입니다.
날짜 표시(월, 일, 연도)
기본값으로 SalesDate 필드에는 날짜(월, 일, 연도) 및 시간(시간, 분, 초) 데이터가 모두 표시됩니다. 날짜만 표시하도록 이러한 값의 형식을 변경할 수 있습니다.
날짜만 표시하도록 값의 서식을 지정합니다.
실행 탭에서 디자인을 선택하여 디자인 보기로 돌아갑니다.
테이블 보고서에서
[SalesDate]
값을 포함하는 셀을 선택합니다.홈 탭의 숫자 그룹에서 서식 드롭다운 메뉴를 확장하고 날짜를 선택합니다.
셀에 날짜 예제(
[1/31/2000]
)가 표시됩니다.날짜 값 예제가 표시되지 않으면 개체 틀 스타일을 확인합니다. 홈 탭의 숫자 그룹에서 개체 틀 스타일([123]) 옵션이 샘플 값으로 설정되었는지 확인합니다.
홈 탭에서 실행을 선택하여 보고서를 미리 봅니다.
SalesDate 열의 값이 날짜(월, 일, 연도)로만 표시되는지 확인합니다. 다음은 보고서의 예제입니다.
사용자 지정 날짜 서식 사용
테이블의 특정 필드에 대해 사용자 지정 서식을 지정할 수도 있습니다.
실행 탭에서 디자인을 선택하여 디자인 보기로 돌아갑니다.
테이블 보고서에서 이전에
[SalesDate]
값을 포함하는 셀로 이동합니다.셀을 마우스 오른쪽 단추로 클릭하고 입력란 속성을 선택합니다.
입력란 속성 대화 상자에서 셀 서식을 구성합니다.
탭 창에서 숫자를 선택합니다.
범주 목록에서 날짜를 선택합니다.
형식 목록에서 January 31, 2000을 선택합니다.
샘플 섹션에서는 서식 구성의 미리 보기를 보여줍니다.
확인을 선택하여 사용자 지정 서식을 적용합니다.
날짜 예제
[January 31, 2000]
을 표시하도록 테이블 셀이 업데이트됩니다.홈 탭에서 실행을 선택하여 보고서를 미리 봅니다.
SalesDate 열의 값이 월 숫자가 아닌 월 이름을 표시하는지 확인합니다. 다음은 보고서의 예제입니다.
테이블 서식 지정
테이블의 데이터에 특정 서식을 적용하는 작업 외에도 열 너비, 행 높이, 테이블 제목과 같은 전체 특성을 구성할 수도 있습니다. 다음 섹션에서는 이러한 절차를 보여줍니다.
열 너비 변경
기본값으로 테이블의 각 셀은 입력란을 포함합니다. 페이지가 렌더링될 때 텍스트에 맞게 입력란이 세로로 확장됩니다. 렌더링된 보고서에서 각 행은 행에서 렌더링된 입력란 중 가장 큰 높이로 확장됩니다. Design Surface에서 행 높이는 렌더링된 보고서의 행 높이에 영향을 주지 않습니다.
각 행의 세로 공간 크기를 줄이기 위해 열 입력란의 예상되는 콘텐츠를 하나의 줄로 표시할 수 있도록 열 너비를 확장할 수 있습니다.
다음 단계에 따라 테이블 열 너비를 변경합니다.
실행 탭에서 디자인을 선택하여 디자인 보기로 돌아갑니다.
Design Surface에서 행 및 열의 핸들을 표시하도록 테이블 내부를 선택합니다. 핸들은 테이블 가장자리를 따라 회색 막대로 표시됩니다.
핸들을 누른 상태로 끌어 테이블 너비를 늘입니다.
팁
테이블에서 작업하는 표시 영역을 늘리도록 Design Surface의 너비를 확장할 수 있습니다. 테이블이 Design Surface보다 넓은 경우 전체 테이블을 보려면 스크롤 막대를 사용해야 합니다.
Subcategory 및 Product 열 사이의 줄에 마우스를 대고 이중 화살표 커서를 표시합니다.
줄을 선택하고 끌어 Product 열 너비를 늘입니다. 열의 제품 이름이 렌더링된 보고서에서 한 줄로 표시되도록 너비를 늘입니다.
홈 탭에서 실행을 선택하여 보고서를 미리 봅니다.
Product 열 값이 한 줄로 표시되는지 확인합니다. 다음은 보고서의 예제입니다.
보고서 제목 사용자 지정
보고서 제목은 보고서 맨 위에 나타납니다. 보고서 제목을 보고서 머리글에 배치할 수 있습니다. 보고서에서 머리글을 사용하지 않는 경우 보고서 본문 맨 위에 있는 입력란에 제목을 배치할 수 있습니다. 이 자습서에서는 보고서 본문 맨 위에 자동으로 배치되는 입력란을 사용합니다.
다양한 글꼴 스타일, 텍스트 크기 및 색을 사용하는 등 보고서 제목을 여러 방법으로 사용자 지정할 수 있습니다. 제목 일부와 개별 문자에 별도의 서식을 사용할 수도 있습니다. 자세한 내용은 페이지를 매긴 보고서에서 입력란의 텍스트 서식 지정(Report Builder)을 참조하세요.
다음 단계에 따라 보고서 제목을 사용자 지정합니다.
실행 탭에서 디자인을 선택하여 디자인 보기로 돌아갑니다.
Design Surface에서 클릭하여 제목 추가를 선택합니다.
클릭하여 제목 추가 입력란에서 Product Sales 텍스트를 입력한 다음, 텍스트 상자 바깥쪽을 선택합니다.
텍스트 상자를 마우스 오른쪽 단추로 클릭하고 텍스트 상자 속성을 선택합니다.
입력란 속성 대화 상자에서 텍스트 서식을 구성합니다.
탭 창에서 글꼴을 선택합니다.
글꼴 목록에서 Arial을 선택합니다.
크기 목록에서 18pt를 선택합니다.
색 목록에서 파랑을 선택합니다.
스타일에서 굵게를 선택합니다.
샘플 섹션에서는 서식 구성의 미리 보기를 보여줍니다.
확인을 선택하여 제목 서식을 적용합니다.
홈 탭에서 실행을 선택하여 보고서를 미리 봅니다.
테이블에 업데이트된 제목이 표시되는지 확인합니다.
보고서 저장
컴퓨터의 보고서 서버에 보고서를 저장합니다. 보고서를 보고서 서버에 저장하지 않은 경우 하위 보고서와 같은 많은 Reporting Services 기능을 사용할 수 없습니다.
다음 단계에 따라 보고서 서버에 보고서를 저장합니다.
파일>다른 이름으로 저장을 선택합니다.
보고서로 저장 대화 상자의 오른쪽 창에서 최근 사이트 및 서버를 선택합니다.
보고서를 저장할 수 있는 권한을 가진 보고서 서버의 이름을 선택하거나 입력합니다.
"보고서 서버에 연결 중" 메시지가 나타납니다. 연결이 완료되면 기본 보고서 폴더가 열립니다. 보고서 서버 관리자가 기본 폴더 위치를 지정합니다.
보고서 이름의 경우 기본값(제목 없음)을 Product_Sales로 바꿉니다.
저장을 선택합니다.
보고서가 보고서 서버에 저장되었습니다. 창 맨 아래 상태 표시줄에 연결된 보고서 서버 이름이 표시됩니다.
컴퓨터에서 보고서 저장
컴퓨터에서 보고서를 저장할 수도 있습니다.
파일>다른 이름으로 저장을 선택합니다.
바탕 화면, 내 문서 또는 내 컴퓨터를 클릭한 다음, 보고서를 저장할 폴더로 이동합니다.
보고서 이름의 경우 기본값(제목 없음)을 Product_Sales로 바꿉니다.
저장을 선택합니다.
보고서 내보내기
보고서를 Microsoft Excel 및 CSV(쉼표로 구분된 값) 파일과 같은 다양한 형식으로 내보낼 수 있습니다. 자세한 내용은 페이지를 매긴 보고서 내보내기(Report Builder)를 참조하세요.
이 자습서에서는 보고서를 Excel로 내보내고 보고서의 속성을 설정하여 통합 문서 탭에 대한 사용자 지정 이름을 제공합니다.
Excel 통합 문서 탭 이름 설정
다음 단계에 따라 Excel 통합 문서 탭 이름을 지정합니다.
디자인을 선택하여 디자인 보기로 돌아갑니다.
보기 탭을 선택하고 속성을 선택하여 속성 창을 표시합니다.
테이블 보고서 바깥쪽의 Design Surface 아무 곳이나 선택합니다.
속성 창에 나열된 항목은 Design Surface에서 선택한 위치에 해당됩니다. 이 절차의 경우 보고서 영역 외부 위치를 선택하려고 합니다.
속성 창에서 기타 그룹을 확장하고 InitialPageName 속성을 찾습니다.
팁
속성 창에 속성이 표시되지 않으면 창 맨 위에 있는 사전순을 선택하여 모든 속성을 사전순으로 정렬합니다.
InitialPageName 속성에 통합 문서 탭 이름 Product Sales Excel을 입력합니다.
Excel로 보고서 내보내기
다음 단계를 사용하여 보고서를 Excel로 내보냅니다.
홈 탭에서 실행을 선택하여 보고서를 미리 봅니다.
툴바에서 내보내기>Excel을 선택합니다.
다른 이름으로 저장 대화 상자에서 파일을 저장하려는 위치로 이동합니다.
파일 이름에 Product_Sales_Excel을 입력합니다.
파일 형식이 Excel(*.xls)인지 확인합니다.
저장을 선택합니다.
Excel에서 보고서 보기
이제 Excel에서 테이블 보고서를 볼 수 있습니다.
통합 문서를 저장한 폴더를 열고 Product_Sales_Excel.xlsx 파일을 두 번 클릭합니다.
통합 문서 탭 이름이 Product Sales Excel인지 확인합니다.