2단원: 매개 변수를 추가하여 사용 가능한 값 목록 만들기(보고서 작성기 2.0)
사용 가능한 값 또는 유효한 값은 사용자에게 보고서 매개 변수에 사용할 수 있는 값 목록을 제공합니다. 데이터 원본의 값 집합을 검색할 수 있도록 특별히 디자인한 쿼리를 통해 유효한 값을 제공하거나 미리 정의한 값 집합을 제공할 수 있습니다. 보고서가 처리될 때 실행되는 데이터 집합 쿼리에 사용 가능한 값 집합을 바인딩하여 사용자가 기본 데이터 원본에 있는 값만 선택하도록 할 수 있습니다.
이 단원에서는 AdventureWorks2008 데이터베이스의 사용 가능한 영업 사원 이름 드롭다운 목록을 표시하도록 Sales Order 보고서를 수정합니다. 선택한 매개 변수 값에 대한 결과 집합에 행이 없는 경우 메시지를 표시하도록 테이블 속성을 설정합니다. 이름을 선택하여 보고서를 검토하는 경우 보고서에 해당 영업 사원에 대한 판매액만 표시됩니다.
기존 데이터 집합 쿼리를 바꾸려면
보고서 데이터 창에서 DataSet1을 마우스 오른쪽 단추로 클릭한 다음 쿼리를 클릭합니다. 쿼리 디자이너가 열립니다.
쿼리 창에서 기존 쿼리 텍스트를 다음 쿼리로 바꿉니다.
SELECT SH.OrderDate ,DATENAME(weekday, SH.OrderDate) as Weekday ,SH.SalesOrderNumber ,SD.OrderQty ,SD.LineTotal ,P.Name AS [Product] ,PS.Name AS [Subcategory] FROM Sales.SalesPerson SP INNER JOIN Sales.SalesOrderHeader AS SH ON SP.BusinessEntityID = SH.SalesPersonID INNER JOIN Sales.SalesOrderDetail AS SD ON SH.SalesOrderID = SD.SalesOrderID INNER JOIN Production.Product AS P ON SD.ProductID = P.ProductID INNER JOIN Production.ProductSubcategory AS PS ON PS.ProductSubcategoryID = P.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PC ON PC.ProductCategoryID = PS.ProductCategoryID WHERE PC.Name = 'Clothing' AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate)) AND SH.SalesPersonID = (@BusinessPersonID)
이 쿼리에는 판매 주문을 담당하는 영업 사원에 대한 쿼리 매개 변수가 포함되어 있습니다.
AND SH.SalesPersonID = (@BusinessPersonID)
실행(!) 단추를 클릭합니다. 쿼리 매개 변수를 입력하라는 메시지가 표시되면 다음 표를 사용하여 값을 입력합니다.
@StartDate
20010101
@EndDate
20030101
@BusinessPersonID
290
확인을 클릭합니다.SalesPersonID가 290인 영업 사원 Ranjit Varkey Chudukatil에 대한 결과 집합이 나타납니다.
다음에는 영업 사원 이름을 나열하는 새 데이터 집합을 만듭니다.
보고서 매개 변수에 대한 유효한 값 목록을 채우려면
보고서 데이터 창의 도구 모음에서 새로 만들기를 클릭하고 데이터 집합을 클릭합니다. 데이터 집합 속성 대화 상자가 열립니다.
이름 필드에 SalesPersons를 입력합니다. 이 데이터 집합은 SalesPersonID 보고서 매개 변수의 유효한 값 목록을 채우는 데 사용됩니다.
데이터 원본이 AdventureWorks2008인지 확인합니다.
쿼리 디자이너를 클릭한 다음 텍스트로 편집을 클릭합니다.
쿼리 창에 다음 Transact-SQL 쿼리를 붙여 넣습니다.
SELECT SP.BusinessEntityID, C.FirstName, C.LastName FROM Sales.SalesPerson AS SP INNER JOIN HumanResources.Employee AS E ON E.BusinessEntityID = SP.BusinessEntityID INNER JOIN Person.Person AS C ON C.BusinessEntityID = E.BusinessEntityID ORDER BY SP.BusinessEntityID
확인을 차례로 두 번 클릭합니다. 보고서 데이터 창에서 새 데이터 집합에 BusinessEntityID, FirstName 및 LastName 필드가 표시됩니다. 이 데이터 집합은 매개 변수 BusinessPersonID에 대한 유효한 값을 제공하는 데 사용됩니다.
다음에는 FirstName 및 LastName을 Name이라는 한 필드에 연결하는 데이터 집합 필드를 추가로 만듭니다. 이렇게 정의하는 필드를 계산 필드라고 합니다.
보고서 데이터 창에서 계산 필드를 정의하려면
보고서 데이터 창 도구 모음에서 SalesPersons 데이터 집합을 마우스 오른쪽 단추로 클릭한 다음 계산 필드 추가를 클릭합니다. 표에 새 행이 추가된 데이터 집합 속성 대화 상자의 필드 페이지가 열립니다.
마지막 필드 이름 입력란에 Name을 입력합니다.
필드 원본 입력란에 다음 식을 붙여 넣습니다.
=Fields!LastName.Value & ", " & Fields!FirstName.Value
확인을 클릭합니다.
보고서 데이터 창의 SalesPersons 데이터 집합 아래에서 데이터 집합의 필드 컬렉션에 새 필드 Name이 나타납니다.
다음에는 보고서 매개 변수 BusinessPersonID가 이 데이터 집합을 매개 변수의 유효한 값으로 사용하도록 지정합니다.
보고서 매개 변수를 사용 가능한 값 목록으로 채우려면
보고서 데이터 창에서 매개 변수 노드를 확장하고 BusinessPersonID를 마우스 오른쪽 단추로 클릭한 다음 매개 변수 속성을 클릭합니다.
프롬프트에서 Select sales person:을 입력합니다.
데이터 형식에서 정수를 선택합니다.
사용 가능한 값을 클릭합니다.
쿼리에서 값 가져오기 옵션을 선택합니다.
데이터 집합 드롭다운 목록에서 BusinessPersons를 선택합니다.
값 필드 드롭다운에서 BusinessEntityID를 선택합니다.
레이블 필드 드롭다운에서 Name을 선택합니다.
레이블로 Name을 선택하면 BusinessEntityID 매개 변수에 대한 유효한 값 드롭다운 목록에 사원 ID 대신 각 영업 사원의 이름이 표시됩니다.
기본값을 클릭합니다.
쿼리에서 값 가져오기 옵션을 선택합니다.
데이터 집합 드롭다운 목록에서 BusinessPersons를 선택합니다.
값 필드 드롭다운 목록에서 BusinessEntityID를 선택합니다.
확인을 클릭합니다.
실행을 클릭합니다. 보고서에 영업 사원 이름이 있는 드롭다운 목록이 표시됩니다.
보고서 보기를 클릭합니다.
보고서에 보고서 매개 변수로 지정된 기준과 일치하는 선택된 영업 사원의 판매 주문이 표시됩니다. 일부 날짜, 요일 및 영업 사원 조합의 경우 결과가 표시되지 않을 수 있습니다.
다음 단계
매개 변수에 사용할 수 있는 값의 목록이 기존 보고서에 추가되었습니다. 다음에는 다중값을 허용하도록 DayoftheWeek 및 BusinessPersonID 매개 변수를 수정합니다. 3단원: 매개 변수를 추가하여 목록에서 여러 값 선택(보고서 작성기 2.0)을 참조하십시오.