Share via


보고서에 페이지 머리글 및 바닥글 추가

보고서는 각 페이지의 위쪽과 아래쪽에서 각기 실행되는 머리글과 바닥글을 포함할 수 있습니다. 머리글과 바닥글은 정적 텍스트, 이미지, 선, 사각형, 테두리, 배경색 및 배경 이미지를 포함할 수 있습니다. 데이터 바인딩된 필드나 이미지를 직접 머리글 또는 바닥글에 추가할 수 없습니다. 그러나 머리글 또는 바닥글에 사용할 데이터 바인딩된 필드나 이미지를 간접적으로 참조하는 식은 작성할 수 있습니다.

[!참고] 각 렌더링 확장 프로그램에서는 페이지를 다르게 처리합니다. 보고서 페이지 매김 및 렌더링 확장 프로그램에 대한 자세한 내용은 보고서 페이지 매김 제어를 참조하십시오.

[!참고] SQL Server 2005와 SQL Server 2005 서비스 팩 1의 Reporting Services에서는 머리글이나 바닥글에 드릴스루 작업이나 책갈피 링크를 포함할 수 없습니다.

보고서 머리글 및 바닥글은 테이블 또는 그룹의 머리글 및 바닥글과는 다릅니다. 테이블 머리글 및 바닥글에 대한 자세한 내용은 테이블 데이터 영역 작업를 참조하십시오.

첫 페이지에서 머리글 및 바닥글 생략

보고서 디자이너에서 페이지 머리글 및 바닥글은 기본적으로 보고서의 첫 페이지와 마지막 페이지에도 표시됩니다. 보고서의 첫 페이지와 마지막 페이지에서 페이지 머리글 및 바닥글을 생략할 수 있습니다. 이 설정을 변경하려면 머리글이나 바닥글에 대해 PrintOnFirstPage 또는 PrintOnLastPage 속성을 변경합니다. 자세한 내용은 방법: 첫 페이지 또는 마지막 페이지에서 페이지 머리글 또는 바닥글 숨기기(보고서 디자이너)를 참조하십시오.

페이지 머리글 또는 바닥글에 변수 데이터 표시

페이지 머리글 및 바닥글은 정적인 내용을 표시하는 데도 사용할 수 있지만 일반적으로 페이지 내용에 대한 정보 또는 페이지 번호 등의 변화하는 내용을 표시하는 데 사용합니다. 페이지마다 달라지는 변수 데이터를 표시하려면 식을 작성해야 합니다. 머리글 또는 바닥글에 변수 데이터를 삽입하려면 다음을 수행하십시오.

  • 머리글 또는 바닥글에 텍스트 상자를 추가합니다.
  • 텍스트 상자에 나타낼 변수 데이터를 생성하는 식을 작성합니다.
  • 식에 페이지의 보고서 항목에 대한 참조를 포함합니다. 예를 들어 특정 필드의 데이터를 포함하는 텍스트 상자를 참조할 수 있습니다. 데이터 집합의 필드에 대한 직접적인 참조는 포함하지 마십시오.

페이지 머리글 또는 바닥글에서 텍스트 상자의 필드를 직접 참조할 수 없습니다. 예를 들어 =Fields!LastName.Value 식을 사용할 수 없습니다.

페이지 머리글 또는 바닥글에 필드 정보를 표시하려면 보고서 본문의 텍스트 상자에 필드 식을 배치한 다음 페이지 머리글 또는 바닥글에서 해당 텍스트 상자를 참조합니다. 다음 식에서는 TXT_LastName이라는 텍스트 상자의 첫 번째 인스턴스 내용을 표시합니다.

=First(ReportItems!TXT_LastName.Value)

페이지 머리글 또는 바닥글의 필드에는 집계 함수를 사용할 수 없습니다. 앞서 설명한 First() 함수와 같이 집계 함수는 보고서 항목에만 사용할 수 있습니다. 페이지 머리글 및 바닥글에 일반적으로 사용하는 식에 대한 자세한 내용은 Reporting Services의 식 예를 참조하십시오.

이 항목의 다음 섹션에서는 머리글 및 바닥글에 일반적으로 사용하는 변수 데이터를 가져오는 미리 만들어 놓은 식을 보여 줍니다. Excel 렌더링 확장 프로그램에서 머리글 및 바닥글을 처리하는 방법도 설명합니다. 식에 대한 자세한 내용은 Reporting Services에서 식 사용을 참조하십시오.

머리글 또는 바닥글에 페이지 번호 추가

일반적으로 바닥글에 페이지 번호를 표시합니다. 보고서의 머리글 또는 바닥글에 페이지 번호를 표시하려면 바닥글에 텍스트 상자를 만들고 다음 식을 추가합니다.

=Globals.PageNumber & " of " & Globals.TotalPages

머리글 또는 바닥글에 보고서 이름, 경로 및 보고서 실행 시간 추가

다음 식을 사용하여 보고서 생성 시기에 대한 타임스탬프 정보와 함께 보고서 서버 데이터베이스에 저장된 보고서 제목 또는 보고서 이름을 표시할 수 있습니다.

=ReportItems!ReportTitle.Value
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

머리글 또는 바닥글에 데이터 바인딩된 이미지 추가

데이터베이스에 저장된 이미지 데이터를 머리글 또는 바닥글에 사용할 수 있습니다. 그러나 이미지 컨트롤에서 직접 데이터베이스 필드를 참조할 수는 없습니다. 대신 보고서 본문에 텍스트 상자를 추가한 다음 해당 텍스트 상자를 이미지를 포함하는 데이터 필드로 설정해야 합니다. 이때 값은 base64로 인코딩되어야 합니다. 보고서 본문에서 텍스트 상자를 숨겨 base64로 인코딩된 이미지를 표시하지 않을 수 있습니다. 그런 다음 페이지 머리글 또는 바닥글의 이미지 컨트롤에서 숨겨진 텍스트 상자의 값을 참조할 수 있습니다.

예를 들어 제품 정보 페이지로 구성된 보고서의 각 페이지에 있는 머리글에 제품의 사진을 표시하려는 경우를 가정합니다. 보고서 머리글에 저장된 이미지를 인쇄하려면 보고서 본문에 데이터베이스에서 이미지를 검색하는 TXT_Photo라는 숨겨진 텍스트 상자를 정의하고 식을 사용하여 이 텍스트 상자에 값을 제공합니다.

=Convert.ToBase64String(Fields!Photo.Value)

이미지를 표시하도록 디코딩된 TXT_Photo 텍스트 상자를 사용하는 Image 컨트롤을 머리글에 추가합니다.

=Convert.FromBase64String(ReportItems!TXT_Photo.Value)

머리글 또는 바닥글에 계산된 페이지 합계 추가

일부 보고서의 경우 각 보고서의 머리글 또는 바닥글에 계산된 값(예: 페이지에 숫자 값이 있는 경우 페이지당 총 합계)을 포함시키면 유용합니다. 필드를 직접 참조할 수 없으므로 머리글 또는 바닥글에 삽입하는 식은 데이터 필드 대신 텍스트 상자와 같은 보고서 항목의 이름을 참조해야 합니다.

=Sum(ReportItems!Textbox1.Value)

반복되는 데이터 행을 포함하는 테이블 또는 목록에 텍스트 상자가 있는 경우 런타임에 머리글 또는 바닥글에 나타나는 값은 현재 페이지의 테이블 또는 목록에 있는 모든 TextBox1 인스턴스 데이터 값의 합계입니다.

페이지 합계를 계산할 때 다른 렌더링 확장 프로그램을 사용하여 보고서를 보면 합계가 서로 다를 수 있습니다. 각 렌더링 확장 프로그램마다 페이지가 매겨진 출력을 다르게 계산합니다. HTML로 본 페이지를 PDF로 보면 PDF 페이지의 데이터 양이 다른 경우 합계가 다를 수 있습니다.

머리글 및 바닥글을 사용하여 텍스트 배치

머리글 및 바닥글을 사용하여 페이지에 텍스트를 배치할 수 있습니다. 예를 들어 고객에게 우편으로 전송할 보고서를 만드는 경우 머리글 또는 바닥글을 사용하여 봉투를 접었을 때 고객 주소가 봉투의 주소 부분에 나타나도록 배치할 수 있습니다.

머리글 또는 바닥글을 텍스트 상자로만 채우는 경우 보고서 본문에서 텍스트 상자를 숨길 수 있습니다. 보고서 본문에 텍스트 상자를 배치하면 값이 보고서 첫 페이지의 머리글 또는 바닥글에 나타나는지, 아니면 마지막 페이지의 머리글 또는 바닥글에 나타나는지에 영향을 줄 수 있습니다. 예를 들어 보고서가 여러 페이지로 확장되도록 하는 테이블, 행렬 또는 목록이 있는 경우 숨겨진 텍스트 상자 값은 마지막 페이지에 나타납니다. 첫 페이지에 나타나도록 하려면 숨겨진 텍스트 상자를 보고서 본문의 위쪽에 배치합니다.

Excel에서의 페이지 머리글 및 바닥글 작업

Excel 렌더링 확장 프로그램을 대상으로 하는 보고서에 대해 페이지 머리글 및 바닥글을 정의하는 경우 다음 지침을 따르면 가장 좋은 결과를 얻을 수 있습니다.

  • 페이지 바닥글을 사용하여 페이지 번호를 표시합니다.
  • 페이지 머리글을 사용하여 이미지, 제목 또는 기타 텍스트를 표시합니다. 머리글에는 페이지 번호를 삽입하지 마십시오.

Excel에서 페이지 바닥글은 레이아웃이 제한되어 있습니다. 페이지 바닥글에 복잡한 보고서 항목을 포함하는 보고서를 정의하면 Excel에서 해당 보고서를 볼 때 페이지 바닥글이 예상과 다르게 처리될 수 있습니다.

Excel 렌더링 확장 프로그램에서는 페이지 머리글에 이미지 및 단순 또는 복잡한 보고서 항목의 절대 위치를 수용할 수 있습니다. 페이지 머리글 레이아웃이 보다 다양하게 지원되지만 이로 인해 머리글에서의 페이지 번호 계산 기능이 제한을 받게 됩니다. Excel 렌더링 확장 프로그램에서는 기본적으로 워크시트 수를 기반으로 페이지 번호를 계산하며 보고서 정의 방법에 따라 잘못된 페이지 번호가 생성될 수 있습니다. 예를 들어 4장의 페이지로 인쇄되며 하나의 큰 워크시트로 렌더링되는 보고서가 있는 경우 머리글에 페이지 번호 정보를 포함하면 인쇄되는 각 페이지의 머리글에 "1페이지 중 1페이지"가 표시됩니다.

보다 정확한 페이지 수는 인쇄된 페이지의 차원과 상호 관련된 논리 페이지를 기반으로 합니다. Excel에서는 페이지 바닥글에 자동으로 논리 페이지 번호가 사용됩니다. 페이지 머리글에 논리 페이지 수를 삽입하려면 간단한 머리글을 사용하도록 장치 정보 설정을 구성해야 합니다. 간단한 머리글을 사용하면 머리글 영역에서 복잡한 보고서 레이아웃을 처리하는 기능이 제거됩니다. 장치 정보 설정을 수정하는 방법은 Excel Device Information Settings를 참조하십시오.

참고 항목

작업

방법: 페이지 머리글/바닥글 추가 또는 제거(보고서 디자이너)
방법: 첫 페이지 또는 마지막 페이지에서 페이지 머리글 또는 바닥글 숨기기(보고서 디자이너)
방법: 보고서에 이미지 포함(보고서 디자이너)

개념

보고서 레이아웃 디자인
그래픽 요소 추가

도움말 및 정보

SQL Server 2005 지원 받기