3단원: 매개 변수를 사용하여 초기 정렬 및 대화형 정렬 변경

새 설치: 2006년 7월 17일

데이터 영역이나 그룹에서 보고서 데이터의 하나 이상의 열에 대한 정렬 순서를 대화형으로 변경할 수 있는 기능을 보고서를 읽는 사람에게 제공하는 보고서를 정의할 수 있습니다. 대화형 정렬 또는 매개 변수가 있는 정렬을 사용하여 정렬 순서를 변경하는 기능을 제공할 수 있습니다.

대화형 정렬을 사용하여 열 또는 그룹 머리글 텍스트 상자의 UserSort 속성을 설정합니다. 보고서를 렌더링할 때 정렬 제어 단추가 열 머리글에 표시되므로 보고서를 읽는 사람은 이 단추를 클릭하여 데이터를 정렬할 수 있습니다. 데이터가 처음에는 정렬되어 있지 않습니다. 처음 클릭하면 데이터가 오름차순으로 정렬됩니다. 계속 클릭하면 오름차순 정렬 순서와 내림차순 정렬 순서 사이를 전환합니다.

매개 변수가 있는 정렬을 사용하여 매개 변수를 만들어 정렬 순서를 설정하고 데이터 집합, 데이터 영역 또는 그룹에 대한 정렬 식에 해당 매개 변수가 있는 식을 포함시킬 수 있습니다.

이 단원에서는 두 가지 정렬 유형을 모두 추가합니다. InitialSort라는 매개 변수를 추가하고 TotalDue라는 테이블 열에 정렬 식을 설정하여 처음에는 테이블 그룹을 집계된 총 합계를 기준으로 정렬합니다. 보고서를 읽는 사람이 테이블의 Store 열에서 대리점 이름을 기준으로 정렬할 것인지 아니면 대리점별 판매 주문 수를 기준으로 정렬할 것인지를 선택할 수 있는 SortBy 매개 변수를 만듭니다. 대화형 정렬 단추를 Store 열에 추가하고 SortBy 값에 따라 해당 정렬 식을 설정합니다.

Advanced Parameters Tutorial 보고서 서버 프로젝트를 열려면

  1. SQL Server Business Intelligence Development Studio에서 아직 열려 있지 않은 경우 Advanced Parameters Tutorial 보고서 서버 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 Resellers Worldwide 보고서를 두 번 클릭합니다. 보고서가 레이아웃 뷰에서 열립니다.

다음 절차에서는 테이블 그룹 머리글을 변경하여 대리점 이름과 대리점별 판매 주문 수를 모두 보여 줍니다. 보고서 매개 변수를 만들어 사용자가 대리점 이름을 기준으로 또는 대리점별 판매 주문 수를 기준으로 테이블 그룹을 정렬하는 방법을 선택할 수 있게 합니다.

그룹 개수 값을 그룹 머리글에 추가하려면

  1. 첫 번째 테이블 그룹 머리글 행에서 Store 텍스트 상자를 선택합니다.

  2. =Fields!Store.Value 식을 다음 식으로 바꿉니다.

    =Fields!Store.Value & vbCrLf & vbTab & "(" & 
    Count(Fields!SalesOrderNumber.Value, "table1_Store") & ")"
    
  3. (옵션) 미리 보기를 클릭하여 그룹 머리글의 첫 번째 행에 있는 별도의 줄에서 각 대리점에 대한 대리점 이름 및 판매 주문 수를 표시합니다.

다음 절차에서는 보고서 매개 변수를 만들어 사용자가 테이블 그룹을 대리점 이름을 기준으로 정렬할 것인지 아니면 판매 주문 수를 기준으로 정렬할 것인지를 선택하게 해 줍니다.

새 보고서 매개 변수를 추가하려면

  1. 보고서 메뉴에서 보고서 매개 변수를 선택합니다. 보고서 매개 변수 대화 상자가 열립니다.

  2. 추가를 클릭합니다. 기본값이 지정된 새 매개 변수가 생성됩니다.

  3. 속성 섹션의 이름 입력란에 UserSortBy를 입력합니다. 데이터 형식이 String인지 확인합니다.

  4. 프롬프트에서 **How do you want to sort the table group?**을 입력합니다.

  5. 빈 값 허용 옵션의 선택을 취소합니다.

  6. 사용 가능한 값 섹션에서 쿼리 사용 안 함을 선택합니다. 다음 표를 사용하여 값을 입력합니다.

    레이블

    Name of store

    Name

    Number of sales per store

    Number

  7. 기본값 섹션에서 쿼리 사용 안 함을 선택합니다. 입력란에 Name을 입력합니다.

  8. 확인을 클릭합니다.

다음 절차에서는 대리점 이름 및 판매 주문 수를 보여 주는 그룹 머리글 텍스트 상자에 UserSort(대화형 정렬이라고도 함) 컨트롤을 추가합니다. 컨트롤에서 UserSortBy 보고서 매개 변수의 값을 사용하도록 식을 설정합니다. 보고서를 미리 볼 때 정렬 단추가 해당 열에 표시됩니다. 이 매개 변수에 의해 정의된 필드에 대해 오름차순 값 정렬과 내림차순 값 정렬 사이를 전환하는 정렬 단추를 클릭할 수 있습니다.

그룹에 대화형 정렬 단추를 추가하려면

  1. 테이블 머리글 행에서 textbox2라는 첫 번째 텍스트 상자를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 이 텍스트 상자의 내용은 "Store" 문자열입니다. 텍스트 상자 속성 대화 상자가 열립니다.

  2. 대화형 정렬 탭을 클릭합니다.

    대화형 정렬 탭에서 속성을 설정하는 방법은 텍스트 상자에서 UserSort에 대한 속성을 설정하는 방법과 같습니다.

  3. 이 텍스트 상자에 대화형 정렬 작업 추가 옵션을 선택합니다.

  4. (Fx) 단추를 클릭합니다. 식 편집 대화 상자가 열립니다.

  5. 다음 식을 식 창에 붙여 넣습니다.

    =IIF(Parameters!UserSortBy.Value="Name",Fields!Store.Value,
    Count(Fields!SalesOrderNumber.Value, "table1_Store"))
    

    이 식을 텍스트 상자에 직접 붙여 넣으면 식의 첫 번째 줄만 얻게 됩니다.

  6. 확인을 클릭합니다.

  7. 정렬할 데이터 영역 또는 그룹화 섹션에서 데이터 영역 또는 그룹화 선택을 선택합니다. 드롭다운 목록에서 table1을 선택합니다. 이는 테이블 데이터 영역입니다.

  8. 이 범위에 속한 정렬 식 계산 섹션에서 데이터 영역 또는 그룹화 선택을 선택합니다. 드롭다운 목록에서 table1_Store를 선택합니다. 이는 테이블 내의 대리점 그룹화입니다.

    UserSortBy 매개 변수를 Name으로 설정하는 경우 이 식은 Fields!Store.Value로 계산되고 테이블 그룹은 이전 단원에서 정렬된 것처럼 대리점 이름을 기준으로 사전순으로 정렬됩니다. UserSortBy 매개 변수가 Name이 아닌 경우 테이블 그룹은 그룹의 판매 주문 수를 기준으로 오름차순으로 정렬됩니다.

  9. 미리 보기를 클릭합니다.

    이제 테이블의 Store 열에 대화형 정렬 단추가 추가되었습니다. 초기 정렬 순서는 테이블 그룹 정렬에 대한 기본값입니다. 처음 대화형 정렬 단추를 클릭하면 열이 UserSortBy 매개 변수 값에 따라 정렬됩니다. 대화형 단추를 계속 클릭하면 오름차순 정렬 순서와 내림차순 정렬 순서 사이를 전환합니다.

  10. 드롭다운 목록에서 UserSortBy에 대한 매개 변수 값을 Number of sales per store로 변경합니다. 보고서 보기를 클릭합니다.

    매개 변수 식이 새 매개 변수 설정에 대해 다시 계산되도록 보고서를 다시 처리해야 정렬 열이 변경됩니다. 이제 열이 대리점 이름이 아닌 판매 주문 수를 기준으로 정렬됩니다.

다음 절차에서는 매개 변수를 추가하여 사용자가 테이블의 정보 행을 정렬하는 방법을 선택할 수 있게 합니다.

매개 변수가 있는 정렬에 대한 새 보고서 매개 변수를 추가하려면

  1. 보고서 메뉴에서 보고서 매개 변수를 선택합니다. 보고서 매개 변수 대화 상자가 열립니다.

  2. 추가를 클릭합니다. 기본값이 지정된 새 매개 변수가 생성됩니다.

  3. 속성 섹션의 이름 입력란에 InitialSort를 입력합니다. 데이터 형식이 String인지 확인합니다.

  4. 프롬프트에서 **How do you want to sort the table detail rows?**를 입력합니다.

  5. 빈 값 허용 옵션의 선택을 취소합니다.

  6. 사용 가능한 값 섹션에서 쿼리 사용 안 함을 선택합니다. 다음 표를 사용하여 값을 입력합니다.

    레이블

    Total due

    TotalDue

    Sales order date

    OrderDate

  7. 기본값 섹션에서 쿼리 사용 안 함을 선택합니다. 입력란에 TotalDue를 입력합니다.

  8. 확인을 클릭합니다.

다음 절차에서는 선택한 값에 따라 테이블 정보 행이 정렬되도록 InitialSort 보고서 매개 변수를 사용하는 정렬 식을 정의합니다.

정렬 식을 테이블 정보 행에 추가하려면

  1. 테이블을 선택합니다. 테이블 테두리를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 테이블 속성 대화 상자가 열립니다.

  2. 정렬 탭을 클릭합니다.

  3. 입력란 드롭다운 목록에서 <>을 선택합니다. 식 편집 대화 상자가 열립니다.

  4. 등호(=)를 다음 기호로 바꿉니다.

    =IIF(InStr(Parameters!InitialSort.Value,"TotalDue")>0,Fields!TotalDue.Value,Fields!OrderDate.Value)
    

    이 식은 매개 변수에서 "TotalDue" 문자열 값을 테스트합니다. 원하는 값을 찾은 경우 TotalDue 필드를 정렬 순서에 사용하고, 찾지 못한 경우 OrderDate 필드를 사용합니다. 정렬 순서 방향인 오름차순이나 내림차순은 식 기반이 아니므로 정렬 탭에 설정한 값이 계산한 식에서 지정한 필드에 적용됩니다.

  5. 확인을 클릭합니다.

  6. (옵션) InitialSort에 대한 매개 변수 값을 변경하고 보고서 보기를 클릭합니다. Efficient Cycling 대리점에 대한 노드를 확장합니다. InitialSort 설정에 따라 정보 행이 정렬되는지 확인합니다.

다음 단계

Store 열의 대화형 정렬 단추가 대리점 이름을 기준으로 정렬하는지 아니면 판매 주문 수를 기준으로 정렬하는지를 제어하는 매개 변수와 테이블의 정보 행이 주문 날짜를 기준으로 정렬하는지 아니면 총 금액을 기준으로 정렬되는지를 제어하는 매개 변수를 성공적으로 추가했습니다. 다음 단원에서는 숨겨진 Boolean 매개 변수를 사용하여 이 보고서의 초기 드릴다운 상태를 제어하는 방법을 배웁니다. 4단원: Boolean 매개 변수를 추가하여 초기 드릴다운 상태 제어를 참조하십시오.

참고 항목

관련 자료

Reporting Services의 매개 변수 작업
보고서에서 데이터 정렬

도움말 및 정보

SQL Server 2005 지원 받기