Seal Report 시작하기: 종속 필터 적용

발행: (2026년 3월 29일 PM 08:18 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

소개

이 시리즈의 네 번째 보고서입니다. 지금까지 우리는 서로 독립적인 다양한 유형의 제한을 사용했습니다. 실제 필터링 시나리오에서는 한 선택이 다른 선택의 가능한 값을 영향을 주는 종속 제한이 종종 필요합니다.

AdventureWorks2025 오픈소스 데이터베이스 내에서 이러한 종속성의 고전적인 예는 CountryRegion → StateProvince 입니다. 이 필터를 적용하면 직원들의 기록된 주소 중 하나와 연결된 주를 기준으로 직원을 좁힐 수 있으며, 선택된 국가에 속한 주만 선택 가능하도록 보장합니다.

이전 글에서는 정적 및 동적 선택 목록을 데이터 테이블 제한으로 살펴보았습니다: Getting Started with Seal Report: Static and Dynamic Select Lists.

전제 조건

  • AdventureWorks2025 데이터베이스에서 다음 테이블을 가져옵니다:
    Person.CountryRegion, Person.StateProvince, Person.Address, Person.BusinessEntityAddress, Person.BusinessEntity.
  • 가져오기 중에 Auto create joins 옵션이 활성화되었다면, Joins 섹션의 레코드는 자동 생성된 관계와 유사해야 합니다.

CountryRegion 열거형 만들기

다음 SQL 문을 사용하여 동적 열거형을 추가합니다:

SELECT
    CountryRegionCode AS [KEY],
    Name AS [VALUE]
FROM Person.CountryRegion
ORDER BY Name;

열거형이 SQL 문에서 동적으로 내용을 로드하도록 구성하고 보고서 실행 전에 새로 고치도록 설정합니다. 이 열거형의 이름을 CountryRegion 로 지정합니다; 종속 선택 목록을 구성할 때 나중에 참조됩니다.

CountryRegion 제한 추가

  1. Models → Model을 엽니다.
  2. Person.CountryRegion 데이터 테이블에서 CountryRegionCode 속성을 Restrictions 섹션으로 끌어다 놓습니다.
  3. 새로 만든 제한을 Advanced 구성 패널에서 custom enumerated listCountryRegion 열거형을 선택하여 연결합니다.
  4. 보고서 실행 시 제한이 표시되도록 Prompt at execution을 활성화합니다.

종속 StateProvince 열거형 구성

기본 열거형

다음 SQL 문으로 기본 열거형을 생성합니다 (모든 주를 로드합니다):

SELECT
    StateProvinceID AS [KEY],
    Name AS [VALUE]
FROM Person.StateProvince
ORDER BY Name;

종속성 정의

Dynamic display → SQL Select Statement for prompted restriction 내부에 종속성을 정의합니다:

SELECT
    StateProvinceID AS [KEY],
    Name AS [VALUE]
FROM Person.StateProvince
WHERE CountryRegionCode IN ({EnumValues_CountryRegion})
ORDER BY Name;

{EnumValues_CountryRegion} 자리표시는 CountryRegion 제한에서 선택된 값을 참조하여 선택된 국가에 속한 주만 표시되도록 합니다.

StateProvince 제한 추가

StateProvinceID 속성을 이전 제한과 동일한 방식으로 Restrictions 섹션에 추가합니다. 추가적인 모델 수준 구성은 필요하지 않습니다.

종속 필터 테스트

  • 처음에 StateProvince 필터는 국가가 선택되지 않았기 때문에 비어 있습니다.
  • 국가를 선택하면 (예: United Kingdom), 종속 필터가 자동으로 새로 고쳐져 해당 국가에 속한 주만 표시됩니다.

선택 과제

  • StateProvince 필터를 필수로 설정합니다.
  • 먼저 국가 또는 지역을 선택해야 함을 나타내는 표시 메시지를 구성합니다.

다음 단계

지금까지 모든 예제는 데이터 테이블을 기본 소스로 사용했습니다. 실제 보고서는 종종 저장 프로시저와 사용자 정의 함수에 의존합니다. 다음 글에서는 이러한 소스를 사용할 때 동일한 필터링 기술을 어떻게 적용할 수 있는지 살펴보겠습니다.

0 조회
Back to Blog

관련 글

더 보기 »

ALTER 쿼리

이번 과제에서는 ALTER TABLE을 사용하여 기존 테이블을 수정하는 작업을 수행했습니다. 이를 통해 테이블을 다시 생성하지 않고도 제약 조건을 업데이트하는 방법을 이해할 수 있었습니다. Task...