보고서 매개 변수 만들기 및 보고서 매개 변수 속성 설정
보고서 매개 변수는 보고서에 대해 전역으로 정의됩니다. 보고서 쿼리에 매개 변수가 포함되어 있는 경우 자동으로 보고서 매개 변수가 만들어지며 매개 변수를 수동으로 만들 수도 있습니다. 보고서 매개 변수가 만들어진 후에는 해당 매개 변수를 식별하고 보고서에서 이 매개 변수를 사용하는 방법을 제어하는 속성을 설정해야 합니다.
보고서를 게시하기 전에 매개 변수 작업을 수행하려면 보고서 디자이너의 보고서 매개 변수 대화 상자를 사용합니다. 자세한 내용은 방법: 보고서 매개 변수 추가, 변경 또는 삭제(Reporting Services)를 참조하십시오.
보고서가 게시된 후에는 보고서 관리자 또는 SQL ServerManagement Studio에서 여러 보고서 매개 변수 속성을 수정할 수 있습니다. 매개 변수 속성 및 보안 고려 사항의 수정 방법은 게시된 보고서의 매개 변수 속성 설정을 참조하십시오.
보고서 매개 변수
보고서 매개 변수는 데이터 집합 쿼리를 저장할 때 쿼리 매개 변수를 위해 자동으로 생성되지만 수동으로 만들 수도 있습니다. 보고서 매개 변수를 만든 다음에는 원하는 기능을 얻기 위해 보고서 매개 변수 속성의 기본값을 조정해야 할 수 있습니다. 예를 들어 데이터 형식을 변경하거나 사용 가능한 값 목록을 제공하기 위한 데이터 집합을 만들거나 기본값을 위한 데이터 집합을 만들거나 값이 빈 상태 또는 Null일 수 있는지 여부를 설정해야 합니다.
매개 변수가 여러 값을 허용하도록 하려면 데이터 집합 쿼리도 여러 값을 허용하도록 변경해야 합니다. 자세한 내용은 단일 값 및 다중값 매개 변수 사용을 참조하십시오. 또한 식에 다중값 매개 변수를 포함하는 경우 원하는 값에 액세스하도록 식을 작성하는 방법을 이해해야 합니다. 자세한 내용은 식에서 매개 변수 컬렉션 참조 사용(Reporting Services)을 참조하십시오.
보고서 매개 변수를 만들거나 수정하려면 데이터 창에서 매개 변수 노드를 마우스 오른쪽 단추로 클릭하여 보고서 매개 변수 속성 대화 상자를 엽니다.
[!참고]
쿼리 매개 변수의 이름을 제거하거나 변경하더라도 해당 보고서 매개 변수는 자동으로 제거 또는 변경되지 않습니다. 쿼리 매개 변수의 이름을 변경하면 쿼리를 저장할 때 변경된 이름에 해당하는 새 보고서 매개 변수가 생성됩니다. 새 쿼리 매개 변수 이름과 일치하도록 보고서 매개 변수의 이름을 변경하고 데이터 집합 매개 변수 속성을 업데이트하여 쿼리 매개 변수를 보고서 매개 변수에 연결할 수 있습니다. 쿼리 매개 변수를 제거한 상태에서 해당 보고서 매개 변수가 필요 없는 경우에는 이를 수동으로 삭제해야 합니다.
이름 및 데이터 형식
매개 변수 이름은 필수이며 보고서 내에서 고유해야 합니다. 기본적으로 매개 변수 데이터 형식은 String으로 설정됩니다. 드롭다운 목록에서 다른 데이터 형식을 선택할 수 있습니다. 보고서 매개 변수가 쿼리 매개 변수를 기반으로 하는 경우 해당 보고서 매개 변수 데이터 형식이 쿼리 매개 변수 데이터 형식과 일치하는지 확인합니다. Reporting Services에서는 쿼리 매개 변수 데이터 형식을 검색하지 않으므로 데이터 형식을 직접 조정해야 합니다.
이름은 CLS(Common Language Specification)의 문자 및 대소문자 구분 표준을 준수해야 합니다. 자세한 내용은 https://msdn.microsoft.com에서 공용 언어 사양(Common Language Specification)을 참조하십시오.
프롬프트
게시된 보고서에서 매개 변수는 일반적으로 보고서 상단에 있는 매개 변수 입력 영역에 입력란으로 나타납니다. 프롬프트 문자열은 입력 영역에서 매개 변수를 식별하는 레이블을 정의합니다. 프롬프트는 매개 변수 이름이나 "연도" 또는 "연도 선택"과 같이 사용자에 대한 지시문이 될 수 있습니다. 기본 매개 변수 값이 지정된 상태에서 프롬프트를 빈 상태로 두면 기본값이 사용되며 사용자가 보고서를 실행할 때 매개 변수의 입력란이 표시되지 않습니다. 프롬프트가 비어 있고 기본 매개 변수 값이 지정되어 있지 않은 경우 보고서는 실행되지 않습니다. 사용자에게 매개 변수 값을 입력하라는 메시지를 표시하지 않으려면 숨김 또는 내부를 선택합니다.
숨겨진 매개 변수 및 내부 매개 변수
게시된 보고서에서 매개 변수의 표시 유형을 제어하는 옵션을 설정할 수 있습니다. 숨김 및 내부 옵션을 설정하여 서로 다른 수준의 표시 유형을 사용할 수 있습니다. 게시된 보고서의 매개 변수 입력 영역에서는 매개 변수를 숨기고 보고서 URL 또는 구독 정의에서 매개 변수 값을 설정할 수 있습니다. 매개 변수를 내부로 설정하면 보고서 정의 외에는 매개 변수가 노출되지 않습니다. 내부 매개 변수는 기본값이 있어야 하며 Null 값 허용 옵션이 선택되어 있으면 Null이 될 수 있습니다.
단일 값 및 다중값 매개 변수
보고서 매개 변수 대화 상자에서 다중값 옵션을 선택하여 다중값 매개 변수를 정의할 수 있습니다. 이 확인란을 선택하지 않으면 매개 변수는 단일 값이 됩니다. 다중값 옵션을 지정하면 게시된 보고서에 있는 매개 변수 드롭다운 목록 중 사용 가능한 값에 확인란이 추가되고 이를 통해 사용자가 원하는 값을 선택할 수 있습니다. 예를 들어 Sales Reason Comparisons 예제 보고서에서 여러 제품을 선택하여 해당 제품에 대한 전체 판매 데이터를 볼 수 있습니다.
사용 가능한 값을 지정할 때는 정적 목록을 제공하거나 쿼리를 사용하여 데이터 원본에서 사용 가능한 값을 검색할 수 있습니다. 다중값 매개 변수는 하나 이상의 값을 포함해야 하며 Null 값은 허용되지 않습니다. 모두 선택 옵션이 자동으로 만들어지고 둘 이상의 값이 있는 경우에만 표시됩니다.
[!참고]
Reporting Services에서 Analysis Services 데이터 원본을 사용하고 있는 경우 모두 선택 옵션을 선택하지 마십시오. 모두 선택 옵션을 선택하면 MDX 쿼리를 처리할 때 성능이 떨어집니다. 모든 값을 선택하려면 대신 쿼리 디자이너에서 MDX All 멤버 목록을 선택하십시오.
빈 값 허용
사용 가능한 값의 목록을 만들 경우 <빈 값>을 유효한 값으로 허용하려면 유효 값 목록에 포함해야 합니다.
NULL 허용
Null 허용은 단일값 매개 변수를 위한 옵션입니다. 다중값 매개 변수에 대해서는 이 값을 선택할 수 없습니다. Null 허용을 선택하면 매개 변수가 null 값을 가질 수 있습니다. 기본적으로 일부 쿼리 언어는 결과 집합에서 Null 값을 반환하지 않습니다.
사용 가능한 값
보고서 매개 변수를 정의할 때는 보고서에 사용할 수 있는 값을 정의해야 합니다. 이러한 값을 사용 가능한 값이나 유효한 값이라고 합니다. 사용 가능한 값 목록에는 일련의 값/레이블 쌍이 포함됩니다. 보고서를 실행하면 사용자에게 레이블이 표시됩니다. 사용자가 레이블을 선택하면 해당 값이 매개 변수 값으로 사용됩니다. 사용 가능한 값은 정적 목록 또는 식으로 미리 정의하거나 데이터 집합에서 검색할 수 있습니다.
쿼리를 사용하지 않는 목록은 값/레이블 쌍의 정적 목록입니다. 전체 목록은 보고서 매개 변수 정의 내에 포함되어 있습니다. 각 값과 레이블은 정적 값이 되거나 식에서 생성될 수 있습니다.
쿼리를 사용하는 목록을 사용하면 보고서를 실행할 때 보고서 서버가 데이터 집합에서 일련의 값 및 레이블을 검색합니다. 쿼리를 사용하는 값 목록을 지정하는 경우 데이터 집합, 값에 사용할 필드 및 레이블에 사용할 필드를 선택합니다.
쿼리를 사용하는 값 목록을 지정하는 경우 보고서 내의 데이터 영역에서도 사용하는 보다 복잡한 데이터 집합을 사용하는 대신 매개 변수에 특별히 사용할 단순한 데이터 집합을 만드는 것이 좋습니다. 보고서의 유효한 값 목록과 데이터 영역 모두에 대해 동일한 데이터 집합을 사용하면 유효한 값 목록에 예기치 않은 결과가 발생할 수 있습니다.
기본값
매개 변수의 기본값을 정의할 수 있습니다. 보고서의 모든 매개 변수에 기본값이 있는 경우 보고서를 열거나 보고서 디자이너에서 미리 볼 때 보고서가 즉시 처리됩니다. 하나 이상의 매개 변수에 기본값이 없을 경우에는 사용자가 모든 매개 변수 값을 입력하고 보고서를 실행한 후에야 보고서에 데이터가 표시됩니다.
쿼리를 사용하지 않는 값이나 쿼리를 사용하는 값을 기본값으로 사용할 수 있습니다. 쿼리를 사용하지 않는 기본값은 정적 값 또는 식이고 쿼리를 사용하는 기본값은 데이터 집합의 필드를 가리키는 식입니다. 쿼리에서 여러 행을 반환하는 경우 반환된 데이터 집합의 첫 번째 행 값이 사용됩니다.
기본값을 지정하지 않도록 선택할 수도 있습니다. 이 경우 프롬프트를 지정해야 합니다.
[!참고]
다중값 매개 변수를 사용하고 쿼리에서 둘 이상의 행을 반환하는 경우에는 모든 행이 기본값으로 사용됩니다.