다음을 통해 공유


보고서에 대한 일반 식(Visual Studio 보고서 디자이너)

일부 식은 보고서에서 일반적으로 사용됩니다. 이러한 식에는 보고서의 데이터 모양 변경 식, 합계 계산 식 및 보고서 항목의 속성 변경 식 등이 포함됩니다. 이 항목에서는 보고서의 일반 태스크에 사용할 수 있는 식에 대해 설명합니다.

보고서의 여러 식에는 함수가 포함됩니다. Microsoft.VisualBasic, System.ConvertSystem.Math 네임스페이스에서 함수를 사용하는 식을 작성하거나 다른 어셈블리 또는 사용자 지정 코드에 참조를 추가할 수 있습니다. Microsoft .NET Framework SDK의 클래스를 사용할 수도 있습니다. 자세한 내용은 .NET Framework SDK 클래스 라이브러리 설명서를 참조하십시오.

함수

보고서에 포함된 대부분의 함수는 Microsoft Visual Basic 또는 기본 제공 보고서 함수입니다. 이러한 함수를 사용하여 데이터의 형식을 지정하고, 논리를 적용하고, 보고서 메타데이터에 액세스할 수 있습니다.

Visual Basic 함수

Visual Basic 함수를 사용하여 텍스트 상자에 표시되는 데이터를 조작하거나 매개 변수, 속성 또는 보고서의 다른 영역에 사용되는 데이터를 조작할 수 있습니다. 이 섹션에서는 이러한 함수 중 몇 가지 예를 제공합니다. Visual Basic 함수에 대한 자세한 내용은 Visual Basic 설명서를 참조하십시오.

날짜 함수

Visual Basic 함수를 사용하여 보고서에서 날짜 정보를 제공할 수 있습니다.

  • 다음 식에서는 현재 날짜를 제공하는 Today 함수를 포함합니다. 이 식은 보고서에 날짜를 표시할 경우 텍스트 상자에 사용하거나 현재 날짜를 기반으로 데이터를 필터링할 경우 매개 변수에 사용할 수 있습니다.

    =Today() 
    
  • DateAdd 함수는 단일 매개 변수를 기반으로 날짜 범위를 제공하는 데 유용합니다. 다음 식에서는 StartDate라는 매개 변수에서 6개월 후의 날짜를 제공합니다.

    =DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)
    
  • 다음 식에서는 특정 날짜에 대한 연도를 표시하는 Year 함수를 포함합니다. 이 함수를 사용하여 날짜를 그룹화하거나 연도를 일련의 날짜 레이블로 표시할 수 있습니다. 이 식은 주문 날짜 그룹에 해당하는 연도를 제공합니다.

    =Year(Fields!OrderDate.Value)
    
  • 날짜 처리에 Month 함수 및 다른 함수를 사용할 수 있습니다. 자세한 내용은 Visual Basic 설명서를 참조하십시오.

문자열 함수

Visual Basic 함수를 사용하여 보고서에서 문자열을 조작할 수 있습니다.

  • Format 함수를 사용하여 문자열 내의 날짜 및 숫자 형식을 지정할 수 있습니다. 다음 식에서는 StartDateEndDate 매개 변수의 값을 자세한 날짜 형식으로 표시합니다.

    =Format(Parameters!StartDate.Value, "D") & " through " &  
    Format(Parameters!EndDate.Value, "D") 
    

    텍스트 상자에 날짜 또는 숫자만 있는 경우 형식을 적용하려면 텍스트 상자의 Format 함수 대신 텍스트 상자의 Format 속성을 사용해야 합니다.

  • Right, LenInStr 함수는 부분 문자열을 반환하는 데 유용합니다. 예를 들어 DOMAIN\username에서 사용자 이름만 잘라서 반환할 수 있습니다. 다음 식에서는 User라는 매개 변수에서 백슬래시(\\) 문자의 오른쪽에 있는 문자열 부분을 반환합니다.

    =Right(Parameters!User.Value, Len(Parameters!User.Value) - 
    InStr(Parameters!User.Value, "\"))
    

    다음 식에서는 Visual Basic 함수 대신 .NET Framework String 클래스의 멤버를 사용한 것으로 위의 값과 동일한 값을 반환합니다.

    =Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, 
    Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)
    

결정 함수

Visual Basic 함수를 사용하여 입력 값을 계산하고 그 결과에 따라 다른 값을 반환할 수 있습니다.

  • Iif 함수는 계산 식의 결과가 True인지 False인지에 따라 두 값 중 하나를 반환합니다. LineTotal 값이 100을 초과하면 다음 식에서는 Iif 함수를 사용하여 부울 값 True를 반환합니다. 그렇지 않으면 False를 반환합니다.

    =Iif(Fields!LineTotal.Value > 100, True, False)
    

    다음 식에서는 여러 개의 Iif 함수("중첩 Iif"라고도 함)를 사용하여 PctComplete의 값에 따라 3개의 값 중 하나를 반환합니다.

    =Iif(Fields!PctComplete.Value >= .8, "Green", 
    Iif(Fields!PctComplete.Value >= .5, "Amber", "Red"))
    
  • 다음 식에서는 PctComplete의 값을 기반으로 3개의 값 중 하나를 반환하지만 대신 Switch 함수를 사용하여 True를 반환하는 첫 번째 식과 관련된 값을 반환합니다.

    =Switch(Fields!PctComplete.Value >= .8, "Green", 
    Fields!PctComplete.Value >= .5, "Amber", Fields!PctComplete.Value < 
    .5, "Red")
    

보고서 함수

Reporting Services는 보고서에서 데이터를 조작하는 데 사용할 수 있는 추가 보고서 함수를 제공합니다. 이 섹션에서는 이러한 함수 중 두 가지 예를 제공합니다. 보고서 함수 및 예에 대한 자세한 내용은 보고서에 대한 기본 제공 함수(Visual Studio 보고서 디자이너)를 참조하십시오.

  • Sum 함수는 그룹 또는 데이터 영역에서 값의 합계를 구합니다. 이 함수는 테이블 그룹의 머리글 또는 바닥글에서 유용하게 사용됩니다. 다음 식에서는 Order 그룹 또는 데이터 영역에 데이터의 합계를 표시합니다.

    =Sum(Fields!LineTotal.Value, "Order")
    
  • RowNumber 함수를 포함하는 식이 데이터 영역의 텍스트 상자에 사용되는 경우 식이 나타나는 텍스트 상자의 각 인스턴스에 대해 행 번호를 표시합니다. 이 함수는 테이블에서 행 번호를 지정하는 데 유용합니다. 또한 행 번호를 기반으로 페이지를 나누는 등 더욱 복잡한 태스크에 유용합니다. 자세한 내용은 이 항목 뒷부분의 "페이지 나누기"를 참조하십시오.

    다음 식에서는 가장 바깥쪽 데이터 영역의 첫 번째 행에서 마지막 행까지 행 번호를 표시합니다. Nothing 키워드는 함수가 가장 바깥쪽 데이터 영역의 첫 번째 행부터 계산을 시작하는 것을 표시합니다. 자식 데이터 영역에서 계산을 시작하려면 데이터 영역의 이름을 사용합니다.

    =RowNumber(Nothing)
    

보고서 데이터 모양

식을 사용하여 데이터가 보고서에 나타나는 모양을 조작할 수 있습니다. 예를 들어 단일 텍스트 상자에서 두 필드의 값을 표시하거나, 보고서에 대한 정보를 표시하거나, 페이지 나누기가 보고서에 삽입되는 모양에 영향을 줄 수 있습니다.

페이지 머리글 및 바닥글

보고서를 디자인할 때 보고서 이름 및 보고서 바닥글에 페이지 번호를 표시할 수 있습니다. 이렇게 하려면 다음 식을 사용합니다.

  • 다음 식에서는 보고서 이름과 보고서가 실행된 시간을 제공합니다. 식은 보고서 바닥글이나 보고서 본문의 텍스트 상자에 배치할 수 있습니다. 시간 형식은 .NET Framework 형식 문자열(간단한 날짜)로 지정합니다.

    =Globals.ReportName & ", dated " & 
    Format(Globals.ExecutionTime, "d")
    
  • 다음 식을 보고서 바닥글에 사용하면 보고서의 페이지 번호와 총 페이지 수를 제공합니다.

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

보고서 머리글 또는 바닥글에서 보고서 본문의 보고서 항목에 대해 참조할 수 있습니다. 다음 예에서는 디렉터리 목록에서 찾을 수 있는 페이지와 유사한 페이지의 첫 번째와 마지막 값을 페이지 머리글에 표시하는 방법을 설명합니다. 이 예에서는 데이터 영역에 LastName이라는 텍스트 상자가 있다고 가정합니다.

  • 다음 식을 페이지 머리글 왼쪽의 텍스트 상자에 사용하면 페이지에서 LastName 텍스트 상자의 첫 번째 값을 제공합니다.

    =First(ReportItems!LastName.Value)
    
  • 다음 식을 페이지 머리글 오른쪽의 텍스트 상자에 사용하면 페이지에서 LastName 텍스트 상자의 마지막 값을 제공합니다.

    =Last(ReportItems!LastName.Value)
    

페이지 머리글이나 바닥글의 보고서 항목 참조에 집계를 적용할 수 있습니다. 집계를 보고서 본문의 보고서 항목 참조에 적용할 수는 없습니다. 다음 예에서는 총 페이지 수를 표시하는 방법을 설명합니다. 이 예에서는 데이터 영역에 Cost라는 텍스트 상자가 있다고 가정합니다.

  • 다음 식을 페이지 머리글 또는 바닥글에 사용하면 페이지의 Cost 텍스트 상자에 값의 합계를 제공합니다.

    =Sum(ReportItems!Cost.Value)
    
    Note참고

    페이지 머리글 또는 바닥글에서 식마다 보고서 항목을 하나만 참조할 수 있습니다.

페이지 나누기

일부 보고서에서는 페이지 나누기를 그룹 또는 보고서 항목 외에도 지정된 행 수의 끝에 배치할 수 있습니다. 이렇게 하려면 데이터 영역에 그룹을 만들고(일반적으로 상세 정보 바로 상위 그룹) 페이지 나누기를 그룹에 추가한 다음 그룹 식을 지정된 행 수에 따라 그룹에 추가합니다.

  • 다음 식을 그룹 식에 사용하면 25행마다 번호를 할당합니다. 그룹에 페이지 나누기가 정의되어 있는 경우 25행마다 페이지가 나눠집니다.

    =Int((RowNumber(Nothing)-1)/25)
    

속성

식은 텍스트 상자에서 데이터를 표시하는 데 사용될 뿐만 아니라 속성이 보고서 항목에 적용되는 방식을 변경하는 데에도 사용됩니다. 보고서 항목에 대한 스타일 정보를 변경하거나 보고서 항목의 표시 유형을 바꿀 수 있습니다.

서식 지정

식을 사용하여 보고서에서 보고서 항목의 모양을 다양하게 표시할 수 있습니다.

  • 다음 식을 텍스트 상자의 Color 속성에 사용하면 Profit 필드의 값에 따라 텍스트 색이 달라집니다.

    =Iif(Fields!Profit.Value < 0, "Red", "Black")
    
  • 다음 식을 데이터 영역에 있는 보고서 항목의 BackgroundColor 속성에 사용하면 각 행의 배경색을 연녹색과 흰색으로 번갈아 표시합니다.

    =Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")
    

표시 유형

보고서 항목에 대해 표시 유형 속성을 사용하여 보고서에서 항목을 표시하거나 숨길 수 있습니다. 테이블과 같은 데이터 영역에서 처음에 식의 값을 기반으로 자세히 행을 숨길 수 있습니다.

  • 다음 식을 그룹에서 자세히 행의 초기 표시 유형에 사용하면 PctQuota 필드에서 90%를 초과하는 모든 판매액에 대해 자세히 행을 표시합니다.

    =Iif(Fields!PctQuota.Value>.9, False, True)
    

보고서 매개 변수

매개 변수의 식을 사용하여 매개 변수에 대한 기본값을 다양화할 수 있습니다. 예를 들어 매개 변수를 사용하여 보고서 실행에 사용하는 사용자 ID에 따라 특정 사용자에 대한 데이터를 필터링할 수 있습니다.

  • 다음 식을 매개 변수에 대한 기본값으로 사용하면 보고서를 실행하는 사람의 사용자 ID를 수집합니다.

    =User!UserID
    

사용자 지정 코드

보고서에 사용자 지정 코드를 사용할 수 있습니다. 사용자 지정 코드는 보고서에 포함되거나 보고서에서 사용되는 사용자 지정 어셈블리에 저장됩니다. 사용자 지정 코드에 대한 자세한 내용은 보고서에 사용자 지정 코드 추가(Visual Studio 보고서 디자이너)를 참조하십시오.

  • 다음 예에서는 StandardCost 필드 값을 달러 값으로 변환하는 포함된 ToUSD 코드 메서드를 호출합니다.

    =Code.ToUSD(Fields!StandardCost.Value)
    

참고 항목

개념

보고서에서 식 사용(Visual Studio 보고서 디자이너)
보고서에서 보고서 매개 변수 정의(Visual Studio 보고서 디자이너)
보고서에 페이지 머리글 및 페이지 바닥글 추가(Visual Studio 보고서 디자이너)
보고서에 스타일 및 서식 추가(Visual Studio 보고서 디자이너)
보고서에 대화형 작업, 표시 유형 및 탐색 기능 추가(Visual Studio 보고서 디자이너)