매개 변수를 사용하여 보고서 데이터 제어
새 설치: 2006년 7월 17일
보고서를 처리할 때 데이터 원본으로부터 검색되는 데이터를 제어하고, 데이터가 검색된 후 데이터를 필터링하는 데 매개 변수를 사용할 수 있습니다. 데이터 원본으로부터 검색하는 데이터를 보고서에 특별히 필요한 데이터로 제한하는 것이 바람직합니다. 하지만 저장 프로시저를 사용하여 데이터를 검색할 때는 쿼리에서 검색되는 데이터를 제어할 수 없으므로 데이터 검색 후에 보고서 데이터를 필터링해야 합니다.
데이터 원본에서 데이터 필터링
쿼리 매개 변수를 사용하면 데이터 원본으로부터 검색하려는 데이터를 정확하게 지정할 수 있습니다. 즉, 데이터가 보고서에 전송되기 전에 서버에서 데이터를 필터링할 수 있습니다.
변수가 포함된 쿼리로 데이터 집합을 정의할 때 Reporting Services의 쿼리 디자이너 구성 요소는 각 변수에 대해 쿼리 매개 변수를 만듭니다. 사용자 또는 보고서 작성자가 보고서 매개 변수에 대한 값을 선택하고 쿼리에서 값을 데이터 원본에 전달할 수 있도록 각 쿼리 매개 변수에 대해 해당 보고서 매개 변수가 생성됩니다.
쿼리 매개 변수
쿼리 매개 변수는 데이터 집합에 대한 쿼리 정의의 일부로 정의됩니다. 각 보고서 데이터 집합이 단일 쿼리를 정의하므로 쿼리 매개 변수는 데이터 집합에 대한 속성으로 정의됩니다.
데이터 집합을 정의할 때 사용자는 특정 유형의 데이터 원본(예: Microsoft SQL Server)를 지정합니다. 보고서 디자이너는 해당 데이터 원본 유형과 함께 작동하도록 설계된 쿼리 디자이너 또는 모든 유형의 데이터 원본과 함께 작동할 수 있는 일반 쿼리 디자이너를 엽니다. 이 데이터 원본에 대한 쿼리를 정의할 때 쿼리 디자이너는 쿼리 명령 텍스트 내의 변수를 식별하고 각 변수에 대한 쿼리 매개 변수를 만듭니다. 데이터 원본에서 예상되는 쿼리 구문에 대한 자세한 내용은 특정 데이터 원본을 가진 쿼리 매개 변수 사용을 참조하십시오.
SQL Server 데이터 원본의 경우, 쿼리가 실행될 때 반환되는 데이터의 범위를 제한하기 위해 일반적으로 쿼리는 Transact-SQL 문의 WHERE 절에 변수를 포함합니다. 마찬가지로 Analysis Services 데이터 원본 쿼리는 FILTER 절에 사용된 MDX 변수를 일반적으로 포함합니다. 또한 쿼리는 입력으로서 저장 프로시저 또는 사용자 정의 함수에 전달된 변수를 포함할 수 있습니다.
데이터 집합에 대한 쿼리를 수정할 때마다 쿼리가 다시 처리됩니다. 변수를 제거하거나 변수 이름을 바꾸어 쿼리를 변경하면 쿼리 매개 변수에 해당 변경 사항이 반영됩니다. 쿼리 명령 텍스트에 존재하는 변수만 데이터 집합 쿼리 정의에서 쿼리 매개 변수가 됩니다.
각 쿼리 매개 변수의 기본값은 해당 보고서 매개 변수로 계산되는 식으로 설정됩니다. 이 매개 변수 바인딩은 데이터 집합 속성의 매개 변수 탭에서 정의됩니다. 예를 들어 SQL Server 데이터 원본의 경우 쿼리 매개 변수가 @MyParameter이면 보고서 매개 변수는 MyParameter이고 @MyParameter의 값은 식 =Parameters!MyParameter.Value
로 설정됩니다. 자세한 내용은 데이터 집합(매개 변수 탭, 보고서 디자이너)을 참조하십시오. 사용자는 쿼리 매개 변수를 직접 편집하고 해당 기본값을 설정할 수 있습니다. 자세한 내용은 방법: 보고서 매개 변수와 쿼리 매개 변수 연결(보고서 디자이너)을 참조하십시오.
[!참고] 쿼리 매개 변수의 이름을 제거하거나 변경하더라도 해당 보고서 매개 변수는 자동으로 제거 또는 변경되지 않습니다.
보고서 매개 변수
보고서 디자이너에서 보고서 매개 변수는 변수가 포함된 데이터 집합 쿼리를 정의할 때 자동으로 생성됩니다. 보고서 작성기에서 보고서 매개 변수는 사용자가 필터 절에서 프롬프트를 설정할 때 자동으로 생성됩니다. 쿼리 매개 변수에 바인딩되지 않은 보고서 매개 변수 대화 상자에서 직접 보고서 매개 변수를 만들 수도 있습니다.
- 보고서 매개 변수 데이터 유형 및 기타 보고서 매개 변수 속성은 보고서 도구 모음의 매개 변수 표시에 영향을 줍니다. 매개 변수의 데이터 유형에 따라 라디오 단추, 텍스트 상자, 드롭다운 목록, 달력 컨트롤 또는 여러 확인란을 사용하여 보고서 매개 변수 속성을 설정할 수 있습니다.
- 보고서 매개 변수는 단일 값 또는 다중값을 가질 수 있습니다. 다중값 매개 변수에서는 사용자가 매개 변수 값을 둘 이상 선택할 수 있습니다.
- 보고서 매개 변수는 다른 보고서 매개 변수에 종속될 수 있습니다. 보고서 매개 변수의 순서는 중요합니다. 매개 변수 목록에서 이후의 매개 변수는 해당 목록에서 이전의 매개 변수에 종속될 수 있습니다. 따라서 한 매개 변수의 값 목록이 다른 매개 변수에서 선택한 값에 따라 달라지는 일련의 연계 매개 변수를 정의할 수 있습니다.
- 보고서 매개 변수는 식에서 사용할 수 있습니다. 매개 변수가 포함된 식은 식을 사용할 수 있는 모든 위치에서 사용할 수 있습니다. 보고서가 실행될 때 각 매개 변수의 값은 식에서 대체됩니다. 이런 식으로 사용자의 매개 변수 선택은 조건에 따라 행 및 열 숨김, 데이터 정렬 및 필터링, Null 데이터 처리를 비롯하여 보고서의 모양 및 내용에 대해 여러 측면을 제어할 수 있습니다.
보고서 매개 변수는 보고서를 작성할 때 보고서 정의의 일부이지만 보고서를 게시한 후에 독립적으로 관리할 수 있습니다. 보고서 디자이너 데이터 또는 레이아웃 뷰에서 보고서에 대해 정의된 매개 변수를 편집할 수 있습니다. 자세한 내용은 방법: 보고서 매개 변수 추가, 편집 또는 삭제(보고서 디자이너)를 참조하십시오. 보고서 정의를 게시한 후에도 보고서 관리자를 사용하여 매개 변수 속성을 수정할 수 있습니다. 자세한 내용은 게시된 보고서의 매개 변수 속성 설정를 참조하십시오.
매개 변수의 유효한 값을 변동이 빠른 값으로 지정하는 경우
사용 가능한 값을 변동이 빠른 값으로 지정하면 보고서가 실행되기 전에 값이 이미 무효한 값이 되어버릴 수 있습니다. 따라서 사용자가 값을 전송하고 보고서를 실행할 때 더 이상 유효하지 않은 목록의 값을 선택하는 결과가 됩니다. 이를 방지하려면 일반적인 사용자가 값을 선택하여 보고서를 실행할 때 변경되지 않을 유효 값 목록의 데이터 집합을 반환하는 쿼리를 작성해야 합니다.
또한 쿼리를 사용하지 않는 빠른 변경 값을 사용하지 마십시오. 예를 들어 현재 날짜를 사용 가능한 값으로 제공하는 경우 DateTime.Now 속성 대신 DateTime.Today 속성을 사용하는 식을 작성해야 값의 시간 부분의 빠른 변동을 막을 수 있습니다.
보고서 데이터 필터링
매개 변수 참조가 포함된 데이터 집합에 대한 필터 식을 정의하면 데이터 원본으로부터 데이터가 검색된 후 데이터를 필터링할 수 있습니다. 이렇게 하면 보고서를 읽는 사람이 매개 변수 값을 선택하고 보고서를 처리할 때 필터를 통과하는 데이터만 보고서에 표시됩니다.
참고 항목
작업
방법: 보고서 매개 변수와 쿼리 매개 변수 연결(보고서 디자이너)
개념
관련 자료
자습서: 기본 테이블 형식 보고서에 매개 변수 추가
자습서: 매개 변수를 사용하는 고급 기능
보고서 데이터 원본 정의
데이터 뷰(보고서 디자이너)