보고서 및 그룹 변수 컬렉션 참조 사용(보고서 작성기 3.0 및 SSRS)
보고서의 식에서 두 번 이상 사용되는 복잡한 계산이 있는 경우 변수를 만들어 사용할 수 있습니다. 보고서 변수 또는 그룹 변수를 만들 수 있습니다. 기본적으로 보고서 변수는 한 번 설정하면 보고서 전체의 식에 사용할 수 있습니다. 보고서 변수는 기본적으로 읽기 전용입니다. 기본값을 변경하여 보고서 변수를 읽기/쓰기 가능하도록 설정할 수 있습니다. 보고서 변수의 값은 보고서를 다시 처리할 때까지 세션 전체에서 보존됩니다. 그룹 변수는 고유한 그룹 값별로 한 번 설정하며 해당 그룹 계층의 현재 수준 또는 하위 수준의 식에서 사용할 수 있습니다. 그룹 변수는 읽기/쓰기로 설정할 수 없습니다.
[!참고]
보고서 작성기 3.0 및 Business Intelligence Development Studio의 보고서 디자이너에서 보고서 정의(.rdl)를 만들고 수정할 수 있습니다. 각 제작 환경에서는 보고서 및 관련 항목을 만들고, 열고, 저장할 수 있는 여러 방법을 제공합니다. 자세한 내용은 microsoft.com 웹에서 보고서 디자이너 및 보고서 작성기 3.0에서 보고서 디자인(SSRS)을 참조하십시오.
보고서 변수
보고서 변수를 사용하여 환율이나 타임스탬프와 같이 시간에 종속되는 계산 또는 여러 번 참조되는 복잡한 계산에 대한 값을 저장할 수 있습니다. 변수 초기화 후에는 값이 보고서 세션 전체에서 일정하게 유지됩니다.
보고서 변수를 추가하려면 보고서속성 대화 상자를 열고 변수를 클릭하고 이름과 값을 입력합니다.
식에서 변수를 참조하려면 전역 컬렉션 구문을 사용합니다(예: =Variables!CustomTimeStamp.Value). 디자인 화면에서 값은 입력란에 <<Expr>>로 표시됩니다.
다음 방법으로 보고서 변수를 사용할 수 있습니다.
읽기 전용으로 사용 값을 한 번 설정하여 보고서 세션에 대해 상수를 만듭니다(예: 타임스탬프 만들기).
입력란의 식은 보고서를 읽는 사용자의 요청에 따라 계산되므로 동적 값(예: 현재 시간을 반환하는 함수인 Now()를 포함하는 식)은 사용자가 뒤로 단추를 사용하여 앞뒤 페이지로 이동하는 경우 다른 값을 반환할 수 있습니다. 보고서 변수의 값을 =Now() 식으로 설정하고 변수를 식에 추가하면 보고서를 처리하는 동안 내내 동일한 값이 사용되도록 할 수 있습니다.
읽기/쓰기로 사용 값을 한 번 설정하고 보고서 세션 내에서 값을 직렬화합니다. 변수에 대해 읽기/쓰기 옵션을 사용하는 것이 보고서 정의의 코드 블록에서 정적 변수를 사용하는 것보다 효율적입니다.
변수의 읽기 전용 옵션 선택을 취소하면 변수의 Writable 속성이 true로 설정됩니다. 식에서 값을 업데이트하려면 SetValue 메서드(예: =Variables!MyVariable.SetValue("123"))를 사용합니다.
[!참고]
보고서 프로세서가 변수를 초기화하는 시기 또는 변수를 업데이트하는 식을 계산하는 시기는 제어할 수 없습니다. 변수 초기화 실행 순서는 정의되어 있지 않습니다.
세션에 대한 자세한 내용은 보고서 작성기 3.0에서 보고서 미리 보기를 참조하십시오.
그룹 변수
그룹 변수를 사용하여 그룹 범위에서 값을 계산할 수 있습니다. 그룹 변수는 그룹 및 해당 자식 그룹의 범위 내에서만 유효합니다.
예를 들어 서로 다른 세금 범주에 속한 항목에 대한 재고 데이터를 표시하는 데이터 영역이 있고 각 범주에 대해 서로 다른 세율을 적용하려는 경우를 가정해 보겠습니다. Category에서 데이터를 그룹화하고 부모 그룹에서 Tax 변수를 정의합니다. 그런 다음 ItemTax에 대한 그룹 변수를 각 세금 범주에 정의하고 서로 다른 각 Category 하위 그룹을 적절한 그룹 변수에 할당합니다. 예를 들면 다음과 같습니다.
[Category] 기반의 부모 그룹에 대해 [Tax] 값을 사용하여 Tax 변수를 정의합니다. 범주 값은 Food와 Clothing이라고 가정하겠습니다.
[Subcategory] 기반의 자식 그룹에 대해 ItemsTax 변수를 =Variables!Tax.Value * Sum(Fields!Price.Value)으로 정의합니다. Food 범주의 하위 범주 값은 Beverages 및 Bread라고 가정하겠습니다. Clothing의 하위 범주 값은 Shirts 및 Hats라고 가정하겠습니다.
자식 그룹의 행에 있는 입력란에 대해 =Variables!ItemsTax.Value 식을 추가합니다.
입력란에는 Beverages 및 Bread에 대해 Food 세금을 사용하고 Shirts 및 Hats에 대해 Clothing 세금을 사용한 총 세금이 표시됩니다.
그룹 변수를 추가하려면 테이블릭스 그룹 속성 대화 상자를 열고 변수를 클릭하고 이름과 값을 입력합니다. 그룹 변수는 고유 그룹 값별로 한 번 계산됩니다.
식에서 변수를 참조하려면 전역 컬렉션 구문을 사용합니다(예: =Variables!GroupDescription.Value). 디자인 화면에서 값은 입력란에 <<Expr>>로 표시됩니다.