식에 사용자 지정 코드 참조 사용(보고서 작성기 2.0)
보고서에 포함된 사용자 지정 코드에 대한 참조를 추가할 수 있습니다. 단일 보고서에서 여러 번 사용된 함수, 사용자 지정 상수 또는 복잡한 함수에는 포함 코드를 사용합니다.
런타임에 한 번 계산되고 보고서 처리 과정에서 같은 값을 유지해야 하는 시간적 제한을 받는 계산의 경우 보고서 또는 그룹 변수 사용을 고려하십시오. 자세한 내용은 식에서 보고서 및 그룹 변수 컬렉션 참조 사용(보고서 작성기 2.0)을 참조하십시오.
사용자 지정 코드에는 새로운 사용자 지정 상수, 변수, 함수 또는 서브루틴이 포함될 수 있습니다. Parameters 컬렉션과 같은 기본 제공 컬렉션에 대한 읽기 전용 참조를 포함할 수 있습니다. 그러나 사용자 지정 함수에 보고서 데이터 값 집합을 전달할 수 없으며 특히 사용자 지정 집계는 지원되지 않습니다.
포함 코드
보고서에 포함 코드를 추가하려면 보고서 속성 대화 상자의 코드 페이지를 사용합니다. 만드는 코드 블록에는 여러 메서드가 포함될 수 있습니다. 포함 코드의 메서드는 MicrosoftVisual Basic으로 작성되고 인스턴스를 기반으로 해야 합니다. 보고서 처리기는 System.Convert 및 System.Math 네임스페이스에 대한 참조를 자동으로 추가합니다. 이외 다른 어셈블리에 대한 참조는 보고서 작성기 2.0에서 지원되지 않습니다.
포함 코드의 메서드는 전역적으로 정의된 Code 멤버를 통해 사용할 수 있습니다. Code 멤버와 메서드 이름을 참조하여 이러한 메서드에 액세스합니다. 다음 예에서는 StandardCost 필드 값을 달러 값으로 변환하는 ToUSD 메서드를 호출합니다.
=Code.ToUSD(Fields!StandardCost.Value)
사용자 지정 코드에서 기본 제공 컬렉션을 참조하려면 기본 제공 Report 개체에 대한 참조를 포함합니다.
=Report.Parameters!Param1.Value
다음 예에서는 몇 가지 사용자 지정 상수 및 변수를 정의하는 방법을 보여 줍니다.
Public Const MyNote = "Authored by Bob"
Public Const NCopies As Int32 = 2
Public Dim MyVersion As String = "123.456"
Public Dim MyDoubleVersion As Double = 123.456
식 대화 상자의 상수 범주에서는 기본 제공 상수만 표시되고 사용자 지정 상수는 표시되지 않지만 아래 예와 같이 식에서 사용자 지정 상수에 대한 참조를 추가할 수 있습니다. 식에서 사용자 지정 상수는 Variant로 처리됩니다.
=Code.MyNote
=Code.NCopies
=Code.MyVersion
=Code.MyDoubleVersion
기본 제공 개체 컬렉션 및 초기화에 대한 자세한 내용은 식에 전역 컬렉션 사용을 참조하십시오.
사용자 지정 코드의 매개 변수 참조의 예
보고서 정의의 코드 블록 또는 사용자가 제공하는 사용자 지정 어셈블리에서 사용자 지정 코드를 통해 전역 매개 변수 컬렉션을 참조할 수 있습니다. 매개 변수 컬렉션은 읽기 전용이며 공개 반복기는 없습니다. Visual BasicFor Each 구조를 사용하여 컬렉션을 단계별로 실행할 수 없습니다. 보고서 정의에 정의된 매개 변수 이름을 알아야 사용자의 코드에서 해당 매개 변수를 참조할 수 있습니다. 하지만 다중값 매개 변수의 모든 값을 반복할 수 있습니다. 자세한 내용은 식에 사용자 지정 코드 참조 사용(보고서 작성기 2.0)을 참조하십시오.
다음 표에는 사용자 지정 코드에서 기본 제공 컬렉션 Parameters를 참조하는 예가 들어 있습니다.
설명 |
식에서의 참조 |
사용자 지정 코드 정의 |
---|---|---|
전체 전역 매개 변수 컬렉션을 사용자 지정 코드에 전달. 이 함수는 특정 보고서 매개 변수 MyParameter의 값을 반환합니다. |
=Code.DisplayAParameterValue(Parameters) |
Public Function DisplayAParameterValue( ByVal parameters as Parameters) as Object Return parameters("MyParameter").Value End Function |
개별 매개 변수를 사용자 지정 코드에 전달. 이 예에서는 전달된 매개 변수의 값을 반환합니다. 매개 변수가 다중값 매개 변수일 경우 반환 문자열은 모든 값의 연결입니다. |
=Code.ShowParametersValues(Parameters!DayOfTheWeek) |
|
사용자 지정 어셈블리
보고서 작성기 2.0에서 사용자 지정 어셈블리는 보고서 서버에서만 사용할 수 있습니다. 보고서 서버에 코드가 설치된 후 코드에 액세스하는 방법은 SQL Server 온라인 설명서의 Reporting Services 설명서에 있는 "식을 통해 사용자 지정 어셈블리 액세스"를 참조하십시오.