Share via


3단원: 매개 변수를 추가하여 목록에서 여러 값 선택

이 단원에서는 BusinessPersonID 및 DayoftheWeek 매개 변수를 단일 값 매개 변수에서 다중값 매개 변수로 변경합니다. 다중값 매개 변수를 사용하면 두 개 이상의 보고서 매개 변수 값을 선택할 수 있습니다. 보고서 매개 변수 BusinessPersonID를 수정하려면 AdventureWorks2008 데이터 집합에 대한 쿼리를 변경하여 단일 값과 같은 값이 아닌 선택한 값 집합의 @BusinessPersonID를 테스트하고 보고서 매개 변수 다중값 속성을 확인합니다. DayoftheWeek 보고서 매개 변수를 수정하려면 다중값 속성을 확인하고 새 데이터 집합에서 사용 가능한 값을 설정한 다음 기본값에 대한 식을 제공합니다. 새 데이터 집합을 만들어 DayoftheWeek 매개 변수에 대해 사용 가능한 값을 제공합니다. 마지막으로 텍스트 상자를 보고서에 추가하여 DayoftheWeek 선택 항목에 대한 매개 변수 값을 표시합니다.

기존 데이터 집합을 바꾸려면

  1. 보고서 데이터 창에서 데이터 집합 AdventureWorksDataset을 마우스 오른쪽 단추로 클릭한 다음 데이터 집합 속성을 클릭합니다.

  2. 데이터 원본에서 AdventureWorks_Ref가 선택되어 있는지 확인합니다.

  3. 쿼리 유형에서 텍스트가 선택되어 있는지 확인합니다.

  4. 쿼리 디자이너 단추를 클릭하여 쿼리 디자이너를 엽니다.

  5. 입력란에서 텍스트를 다음 쿼리로 바꿉니다.

    SELECT 
       soh.OrderDate AS [Date], DATENAME(weekday, soh.OrderDate) as Weekday,
       soh.SalesOrderNumber AS [Order], 
       pps.Name AS Subcat, pp.Name as Product,  
       SUM(sd.OrderQty) AS Qty,
       SUM(sd.LineTotal) AS LineTotal
    FROM Sales.SalesPerson sp 
       INNER JOIN Sales.SalesOrderHeader AS soh 
          ON sp.BusinessEntityID = soh.SalesPersonID
       INNER JOIN Sales.SalesOrderDetail AS sd 
          ON sd.SalesOrderID = soh.SalesOrderID
       INNER JOIN Production.Product AS pp 
          ON sd.ProductID = pp.ProductID
       INNER JOIN Production.ProductSubcategory AS pps 
          ON pp.ProductSubcategoryID = pps.ProductSubcategoryID
       INNER JOIN Production.ProductCategory AS ppc 
          ON ppc.ProductCategoryID = pps.ProductCategoryID
    GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, 
       pps.Name, pp.Name,    soh.SalesPersonID
    HAVING 
    ppc.Name = 'Clothing' 
    AND (soh.OrderDate BETWEEN (@StartDate) AND (@EndDate))
    AND  soh.SalesPersonID IN (@BusinessPersonID)
    

    다음 쿼리는 조건이 동등에서 포함으로 변경되었다는 점을 제외하면 이전 쿼리와 동일합니다.

    AND soh.SalesPersonID IN (@BusinessPersonID)
    
  6. 실행(!) 단추를 클릭합니다. 쿼리 매개 변수를 입력하라는 메시지가 표시되면 다음 표를 사용하여 값을 입력합니다. 쿼리 디자이너에서는 다중값 매개 변수 테스트를 지원하지 않습니다.

    @StartDate

    20010101

    @EndDate

    20030101

    @BusinessPersonID

    290

  7. 확인을 클릭합니다.

    BusinessPersonID가 290인 영업 사원 Ranjit Varkey Chudukatil에 대한 결과 집합이 나타납니다.

여러 값을 허용하도록 BusinessPersonID 보고서 매개 변수를 편집하려면

  1. 보고서 데이터 창에서 매개 변수를 확장하고 BusinessPersonID 매개 변수를 두 번 클릭합니다.

  2. 다중 값 허용 옵션을 선택합니다.

  3. 확인을 클릭합니다.

  4. 미리 보기를 클릭합니다. 보고서가 자동으로 실행됩니다. BusinessPersonID의 드롭다운 목록에 모든 영업 사원 이름이 표시됩니다.

[!참고]

(모두 선택) 값은 다중값 매개 변수의 사용 가능한 값 드롭다운 목록에서 첫 번째 값으로 제공됩니다. 이 확인란을 사용하여 모든 값을 선택하거나 선택 취소할 수 있습니다. 기본적으로 모든 값이 선택되어 있습니다.

보고서 매개 변수에 대한 유효한 값을 입력하기 위해 새 데이터 집합을 추가하려면

  1. 디자인 뷰로 전환합니다.

  2. 보고서 데이터 창에서 AdventureWorks_Ref를 마우스 오른쪽 단추로 클릭하고 데이터 집합 추가를 클릭합니다. 데이터 집합 속성 대화 상자가 열립니다.

  3. 이름 필드에 WeekDaysfromQuery를 입력합니다.

  4. 쿼리 유형에서 텍스트가 선택되어 있는지 확인합니다.

  5. 쿼리에서 다음 쿼리 문자열을 입력하거나 붙여 넣습니다.

    SET DATEFIRST 1;
    SELECT DISTINCT 
       DATEPART(weekday, S.OrderDate) as WeekDayNumber,
       DATENAME(weekday, S.OrderDate) as Weekday
       FROM Sales.SalesOrderHeader S
    Order by WeekDayNumber
    
  6. 쿼리 디자이너 도구 모음에서 실행(!) 단추를 클릭합니다. 결과 집합에 서수와 요일이 표시됩니다.

  7. 확인을 두 번 클릭하여 데이터 집합 속성 대화 상자를 종료합니다.

    보고서 데이터 창에 데이터 집합 WeekDaysfromQuery가 나타납니다.

여러 값, 기본 값 및 유효한 값을 허용하도록 매개 변수를 편집하려면

  1. 보고서 데이터 창에서 매개 변수를 확장하고 DayoftheWeek를 두 번 클릭합니다. 보고서 매개 변수 속성 대화 상자가 열립니다.

  2. 다중 값 허용을 선택합니다.

  3. 사용 가능한 값을 클릭합니다.

  4. 쿼리에서 값 가져오기를 선택합니다.

  5. 데이터 집합의 드롭다운 목록에서 WeekDaysfromQuery를 선택합니다.

  6. 값 필드의 드롭다운 목록에서 Weekday를 선택합니다.

  7. 레이블 필드의 드롭다운 목록에서 Weekday를 선택합니다.

  8. 기본값을 클릭합니다.

  9. 값 지정을 선택합니다.

  10. (옵션) 기존 값 Friday를 선택하고 삭제를 클릭합니다.

  11. 추가를 클릭합니다.

  12. 에서 Saturday를 입력합니다.

  13. 추가를 클릭합니다.

  14. 에서 Sunday를 입력합니다.

  15. 확인을 클릭합니다.

보고서를 미리 보기 전에 DayoftheWeek 매개 변수가 여러 값을 허용하기 때문에 테이블 데이터 영역에 대해 정의된 필터 식에서 IN 연산자를 사용하도록 변경해야 합니다.

다중값 매개 변수를 사용하도록 필터를 변경하려면

  1. 디자인 뷰에서 테이블을 마우스 오른쪽 단추로 클릭한 다음 테이블릭스 속성을 클릭합니다. 테이블릭스 속성 대화 상자가 열립니다.

  2. 필터를 클릭합니다. 1단원에서 이미 DaysoftheWeek에 대한 필터를 추가했습니다.

  3. 의 드롭다운 목록에서 값이 [Weekday]인지 확인합니다.

  4. 텍스트가 선택되어 있는지 확인합니다.

  5. 연산자를 등호(=)에서 In 연산자로 변경합니다.

  6. 입력란의 드롭다운 목록에서 값이 [@DayoftheWeek]인지 확인합니다.

  7. 확인을 클릭합니다.

    테이블의 필터가 In 연산자를 사용하여 Weekday 필드의 값을 DayoftheWeek 매개 변수의 값과 비교하도록 설정됩니다. 보고서 매개 변수에 대해 다중값을 선택하면 필터는 테이블의 각 행을 테스트하여 Weekday 필드가 DayoftheWeek 컬렉션에 있는지 확인합니다.

  8. 미리 보기를 클릭합니다. 보고서에 기본값이 Saturday와 Sunday인 보고서 매개 변수 DaysoftheWeek가 표시됩니다. 드롭다운 목록을 사용하여 DayoftheWeek 매개 변수의 값을 여러 개 선택합니다.

다음 단계

보고서 매개 변수 속성을 단일 값에서 다중값으로 변경하고, 다중값 매개 변수 컬렉션을 사용하여 필요한 쿼리, 필터 및 식 변경 사항을 수행했으며, 식에 다중값 매개 변수를 사용하는 방법을 배웠습니다. 다음 단원에서는 이전 매개 변수에서 선택된 값을 기반으로 하여 값이 조건부로 입력되는 매개 변수를 만드는 방법을 배웁니다. 4단원: 연계 매개 변수 추가를 참조하십시오.

참고 항목

개념