Share via


식에서 보고서 및 그룹 변수 컬렉션 참조 사용(Reporting Services)

보고서의 식에서 두 번 이상 사용되는 복잡한 계산이 있는 경우 변수를 만들어 사용할 수 있습니다. 보고서 변수 또는 그룹 변수를 만들 수 있습니다. 보고서 변수는 한 번 설정하면 보고서 전체의 식에 사용할 수 있습니다. 그룹 변수는 고유한 그룹 값별로 한 번 설정하며 해당 그룹 계층의 현재 수준 또는 하위 수준의 식에서 사용할 수 있습니다.

보고서 변수

보고서 변수를 사용하여 환율이나 타임스탬프와 같이 시간에 종속되는 계산 또는 한 번 계산되는 복잡한 계산에 대한 값을 저장할 수 있습니다. 입력란의 식은 보고서를 읽는 사용자의 요청에 따라 계산되므로 동적 값(예: 현재 시간을 반환하는 함수인 Now()를 포함하는 식)은 사용자가 특정 페이지를 보고 다음 페이지로 이동한 후 뒤로 단추를 사용하여 다시 첫 번째 페이지로 돌아올 경우 다른 값을 반환할 수 있습니다. 보고서 변수의 값을 =Now() 식으로 설정하고 변수를 식에 추가하면 보고서를 처리하는 동안 내내 동일한 값이 사용되도록 할 수 있습니다. 보고서 변수는 보고서의 모든 식에서 참조할 수 있습니다.

보고서 변수를 추가하려면 보고서속성 대화 상자를 열고 변수를 클릭하고 이름과 값을 입력합니다. 보고서 변수의 값은 한 번 설정하면 보고서 처리 중에 변경되지 않은 상태로 유지됩니다.

식에서 변수를 참조하려면 전역 컬렉션 구문을 사용합니다(예: =Variables!CustomTimeStamp.Value). 디자인 화면에서 값은 입력란에 <<Expr>>로 표시됩니다.

그룹 변수

그룹 변수를 사용하여 그룹 범위에서 값을 계산할 수 있습니다. 그룹 변수는 그룹 및 해당 자식 그룹의 범위 내에서만 유효합니다.

예를 들어 서로 다른 세금 범주에 속한 항목에 대한 재고 데이터를 표시하는 데이터 영역이 있고 각 범주에 대해 서로 다른 세율을 적용하려는 경우를 가정해 보겠습니다. 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>>로 표시됩니다.

또한 그룹 변수를 사용자 지정 코드와 함께 사용하여 집계 계산을 사용자 지정할 수 있습니다. 자세한 내용은 사용자 지정 집계를 위해 Reporting Services 2008의 그룹 변수 사용(Using Group Variables in Reporting Services 2008 for Custom Aggregation)합계 및 기타 집계 계산(Reporting Services)을 참조하십시오.

변경 내역

업데이트된 내용

그룹 변수와 사용자 지정 코드를 사용하여 사용자 지정 집계를 추가하는 예를 보여 주는 항목의 링크를 추가했습니다.