다음을 통해 공유


4단원: 연계 매개 변수 추가(SSRS)

연계 매개 변수를 사용하면 대량의 보고서 데이터를 관리할 수 있습니다. 연계 매개 변수를 사용하면 한 매개 변수의 값 목록이 이전 매개 변수에서 선택한 값에 따라 달라집니다. 목록에서 이후 매개 변수의 데이터 집합 쿼리는 목록에서 이전 매개 변수에 대한 참조를 포함하므로 연계 매개 변수의 순서가 중요합니다.

이 단원에서는 범주, 하위 범주 및 제품에 대한 세 쿼리 매개 변수를 정의하는 주 데이터 집합 쿼리를 사용하여 보고서를 만듭니다. 그리고 세 개의 추가 데이터 집합을 정의하여 각 연계 매개 변수에 대해 사용할 수 있는 값을 제공할 것입니다.

열려 있는 보고서 서버 프로젝트에 새 보고서를 추가하려면

  1. 솔루션 탐색기에서 보고서를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭합니다.

  2. 새 항목 추가 대화 상자의 템플릿에서 보고서를 클릭합니다.

  3. 이름에 CascadingParameters.rdl을 입력한 다음 추가를 클릭합니다.

    보고서 디자이너가 열리고 새 .rdl 파일이 디자인 뷰에 표시됩니다.

공유 데이터 원본에 대한 참조를 만들려면

  1. 보고서 데이터 창에서 새로 만들기를 클릭하고 데이터 원본을 클릭합니다.

  2. 이름에 AdventureWorks_Ref를 입력합니다.

  3. 공유 데이터 원본 참조 사용을 선택합니다.

  4. 드롭다운 목록 상자에서 AdventureWorks를 선택합니다.

  5. 확인을 클릭합니다. 

쿼리 및 쿼리 매개 변수가 있는 주 데이터 집합을 만들려면

  1. 보고서 데이터 창에서 데이터 원본 AdventureWorks_Ref를 마우스 오른쪽 단추로 클릭하고 데이터 집합 추가를 클릭합니다.

  2. 이름에 SalesbyCategory를 입력합니다.

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

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

  5. 쿼리 창 아래에서 쿼리 디자이너를 클릭합니다.

  6. 텍스트로 편집을 클릭하여 텍스트 기반 쿼리 디자이너로 전환합니다.

  7. 다음 쿼리를 붙여 넣습니다.

    SELECT 
       PC.Name AS Category,
       PSC.Name AS Subcategory,
       P.Name AS Product,
       SOH.[OrderDate],
       SOH.SalesOrderNumber,
       SD.OrderQty, 
       SD.LineTotal
       FROM [Sales].[SalesPerson] SP 
          INNER JOIN [Sales].[SalesOrderHeader] SOH 
          ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
          INNER JOIN Sales.SalesOrderDetail SD
          ON SD.SalesOrderID = SOH.SalesOrderID
          INNER JOIN Production.Product P
          ON SD.ProductID = P.ProductID
          INNER JOIN Production.ProductSubcategory PSC
          ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
          INNER JOIN Production.ProductCategory PC
          ON PC.ProductCategoryID = PSC.ProductCategoryID
          WHERE (PC.Name = (@Category)
             AND PSC.Name = (@Subcategory)
             AND P.Name = (@Product))
    

    쿼리에 쿼리 매개 변수 @Category, @Subcategory@Product가 포함됩니다.

  8. 실행(!)을 클릭하여 결과 집합을 봅니다. 쿼리 매개 변수 정의 대화 상자가 열립니다.

  9. 매개 변수 값 열에서 아래의 표를 사용하여 각 쿼리 매개 변수에 대한 값을 입력합니다.

    매개 변수 이름

    매개 변수 값

    @Category

    Components

    @Subcategory

    Brakes

    @Product

    Front Brakes

  10. 확인을 클릭합니다. 

    결과 집합에는 Front Brakes에 대해 날짜별로 그룹화된 판매 주문 번호 목록이 포함됩니다.

    쿼리를 실행할 때 각 쿼리 매개 변수가 해당하는 보고서 매개 변수를 생성했습니다. 확인을 두 번 클릭하여 쿼리 디자이너와 대화 상자를 종료합니다.

  11. (옵션) 보고서 데이터 창에서 매개 변수 노드를 확장하고 보고서 매개 변수 Category, Subcategory 및 Product가 나타나는지 확인합니다.

  12. (옵션) 각 데이터 집합 쿼리 매개 변수의 값은 같은 이름의 보고서 매개 변수에 바인딩됩니다. 이를 확인하려면 보고서 데이터 창에서 SalesbyCategory를 마우스 오른쪽 단추로 클릭한 다음 데이터 집합 속성을 클릭합니다.

    1. 매개 변수를 클릭합니다.

    2. 매개 변수 이름 열에서 이름이 @Category, @Subcategory@Product인지 확인합니다.

    3. 매개 변수 값 열에서 값이 [@Category], [@Subcategory] 및 [@Product]인지 확인합니다.

      이 단순 식은 보고서 데이터 창에 표시되는 보고서 매개 변수를 참조합니다.

다음으로 런타임에 각 보고서 매개 변수의 값을 제공하는 데이터 집합을 만듭니다. 값은 사용 가능한 값을 채웁니다. 또한 보고서가 자동으로 실행되도록 기본값을 제공합니다.

보고서 매개 변수에 대한 유효한 값 데이터 집합을 정의하려면

  1. 보고서 데이터 창에서 AdventureWorks_Ref를 마우스 오른쪽 단추로 클릭한 다음 데이터 집합 추가를 클릭합니다.

  2. 이름에 CategoryValues를 입력합니다.

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

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

  5. 쿼리 창 아래에서 쿼리 디자이너를 클릭합니다.

  6. 텍스트로 편집을 클릭하여 텍스트 기반 쿼리 디자이너로 전환합니다.

  7. 쿼리 창에서 다음 쿼리 텍스트를 붙여 넣습니다.

    SELECT DISTINCT Name AS Category FROM Production.ProductCategory
    

    SELECT DISTINCT 명령은 열에서 고유 값만을 검색합니다.

  8. 실행(!)을 클릭하여 결과 집합을 봅니다. Category 열이 Accessories, Bikes, Clothing, Components의 네 값과 함께 나타납니다.

  9. 확인을 클릭합니다.

다음으로 보고서 매개 변수 Category의 속성을 설정하여 이 쿼리의 값을 사용 가능한 값과 해당 기본값 모두에 사용합니다.

보고서 매개 변수의 사용 가능한 값과 기본값을 설정하려면

  1. 보고서 데이터 창의 매개 변수 폴더에서 Category를 마우스 오른쪽 단추로 클릭한 다음 매개 변수 속성을 클릭합니다.

  2. 이름에서 이름이 Category인지 확인합니다.

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

  4. 쿼리에서 값 가져오기를 클릭합니다. 세 개의 필드가 나타납니다.

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

  6. 필드에서 Category를 클릭합니다.

  7. 레이블 필드에서 Category를 클릭합니다.

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

  9. 쿼리에서 값 가져오기를 클릭합니다.

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

  11. 필드에서 Category를 선택합니다.

  12. 확인을 클릭합니다.

다음으로 매개 변수 @Subcategory를 @Category에 대해 선택된 값에 종속되도록 수정합니다.

보고서 매개 변수 Subcategory에 대한 값 데이터 집합을 추가하려면

  1. 보고서 데이터 창에서 AdventureWorks_Ref를 마우스 오른쪽 단추로 클릭한 다음 데이터 집합 추가를 클릭합니다.

  2. 이름에 SubcategoryValues를 입력합니다.

  3. 쿼리 창에서 다음 쿼리 텍스트를 붙여 넣습니다.

    SELECT DISTINCT PSC.Name AS Subcategory 
       FROM Production.ProductSubcategory AS PSC
          INNER JOIN Production.ProductCategory AS PC
          ON PC.ProductCategoryID = PSC.ProductCategoryID
          WHERE PC.Name = (@Category)
    
  4. 확인을 클릭합니다. 

  5. 데이터 집합 SubcategoryValues가 보고서 데이터 창에 나타납니다. 쿼리 디자이너를 열고 쿼리를 실행한 다음 Category로 Components를 입력하면 결과 집합에 14개의 행이 표시됩니다.

다음으로 보고서 매개 변수 @Subcategory의 속성을 설정하여 이 쿼리의 값을 사용 가능한 값과 해당 기본값 모두에 사용합니다.

보고서 매개 변수 Subcategory의 사용 가능한 값과 기본값을 설정하려면

  1. 보고서 데이터 창의 매개 변수 폴더에서 Subcategory를 마우스 오른쪽 단추로 클릭한 다음 매개 변수 속성을 클릭합니다.

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

  3. 쿼리에서 값 가져오기를 클릭합니다.

  4. 데이터 집합의 드롭다운 목록에서 SubcategoryValues를 클릭합니다.

  5. 필드에서 Subcategory를 클릭합니다.

  6. 레이블 필드에서 Subcategory를 클릭합니다.

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

  8. 쿼리에서 값 가져오기를 클릭합니다.

  9. 데이터 집합의 드롭다운 목록에서 SubcategoryValues를 클릭합니다.

  10. 필드에서 Subcategory를 클릭합니다.

  11. 확인을 클릭합니다.

다음으로 @Category의 두 값과 @Subcategory의 값에 종속되는 매개 변수 @Product를 만듭니다.

보고서 매개 변수 Product에 대한 값 데이터 집합을 추가하려면

  1. 보고서 데이터 창에서 AdventureWorks_Ref를 마우스 오른쪽 단추로 클릭하고 데이터 집합 추가를 클릭합니다.

  2. 이름에 ProductValues를 입력합니다.

  3. 쿼리 창에서 다음 쿼리 텍스트를 붙여 넣습니다.

    SELECT DISTINCT P.Name AS Product
    FROM Production.Product P
       INNER JOIN Production.ProductSubcategory AS PSC
       ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
       INNER JOIN Production.ProductCategory AS PC
       ON PC.ProductCategoryID = PSC.ProductCategoryID
    WHERE (PC.Name = (@Category)
       AND PSC.Name = (@Subcategory))
    
  4. 확인을 클릭합니다.

    Product라는 필드가 하나 있는 Product라는 데이터 집합이 보고서 데이터 창에 추가됩니다.

다음으로 매개 변수 @Product의 속성을 설정하여 이 쿼리의 값을 사용 가능한 값과 해당 기본값 모두에 사용합니다.

보고서 매개 변수 Product의 사용 가능한 값과 기본값을 설정하려면

  1. 보고서 데이터 창의 매개 변수 폴더에서 Product를 마우스 오른쪽 단추로 클릭한 다음 매개 변수 속성을 클릭합니다.

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

  3. 쿼리에서 값 가져오기를 클릭합니다.

  4. 데이터 집합의 드롭다운 목록에서 ProductValues를 클릭합니다.

  5. 필드에서 Product를 클릭합니다.

  6. 레이블 필드에서 Product를 클릭합니다.

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

  8. 쿼리에서 값 가져오기를 클릭합니다.

  9. 데이터 집합의 드롭다운 목록에서 ProductValues를 클릭합니다.

  10. 필드에서 Product를 클릭합니다.

  11. 확인을 클릭합니다.

다음으로 각 연계 매개 변수의 값을 선택할 때의 영향을 볼 수 있도록 테이블을 추가합니다.

결과를 표시하기 위한 테이블을 추가하려면

  1. 디자인 뷰에서 테이블을 추가합니다.

  2. 보고서 데이터 창에서 SalesOrderNumber, OrderQty, LineTotal.

  3. Category 를 SalesbyCategory 데이터 집합에서 RowGroups 창으로 끌어다 Details 그룹 위에 놓습니다.

  4. Subcategory 를 SalesbyCategory 데이터 집합에서 RowGroups 창으로 끌어다 Category 아래에 놓습니다.

  5. Product 를 SalesbyCategory 데이터 집합에서 RowGroups 창으로 끌어다 Subcategory 아래에 놓습니다.

  6. OrderDate 를 SalesbyCategory 데이터 집합에서 RowGroups 창으로 끌어다 Product 아래에 놓습니다.

  7. (옵션) 다음 셀의 서식을 지정합니다. [LineTotal]은 통화로, [OrderDate]는 날짜로 지정합니다.

연계 매개 변수를 테스트하려면

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

    각 보고서 매개 변수에 대한 기본값을 설정했기 때문에 보고서가 자동으로 실행됩니다.

  2. Category 드롭다운 목록에서 Components를 선택합니다.

  3. Subcategory 드롭다운 목록에서 Brakes를 선택합니다.

  4. Product 드롭다운 목록에서 Front Brakes를 선택합니다.

    각 연속 매개 변수를 선택하면 이전 선택에 따라 유효한 값만 다음 매개 변수의 드롭다운 목록에 표시됩니다.

  5. 보고서 뷰어 도구 모음에서 보고서 보기를 클릭합니다.

보고서에 판매 주문 번호가 "front brakes" 제품을 포함하는 주문의 주문 수량과 라인 합계와 함께 표시됩니다. 테이블에는 범주, 하위 범주, 제품 및 주문 날짜를 기준으로 구성된 판매 주문이 표시됩니다.

다음 단계

제품 범주, 하위 범주 및 제품 이름을 기준으로 필터링하는 연계 매개 변수를 사용하여 특정 제품을 포함하는 판매 주문을 표시하는 보고서를 성공적으로 만들었습니다. 다음 단원에서는 매개 변수를 드릴스루 보고서로 전달하는 방법을 배웁니다. 5단원: 매개 변수를 추가하여 드릴스루 보고서에 전달(SSRS)를 참조하십시오.