개요: Seal Report 시작하기

발행: (2026년 4월 25일 PM 05:01 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

Seal Report는 무거운 BI 플랫폼에 의존하기보다 데이터 레이어와 가깝게 작업하기를 선호하는 개발자를 위해 설계된 오픈‑소스 보고 엔진입니다. SQL 쿼리, 메타데이터 기반 모델, Razor 스크립팅, 유연한 필터를 활용하여 .NET 환경 내에서 대시보드, 피벗 테이블, 내보내기 및 임베디드 보고 워크플로를 생성합니다.

이 시리즈에서는 간단한 SQL 기반 테이블에서 시작해 공유 필터, 동적 조인, 데이터베이스 수준 제한, 인증 인식 실행을 지원하는 구조화된 보고 계층으로 이동하는 실용적인 단계들을 살펴봅니다. 각 기사에서는 Seal Report 설치가 수행할 수 있는 기능을 점진적으로 확장하는 하나의 기능에 초점을 맞춥니다.

1. SQL Server에서 첫 번째 데이터 테이블 만들기

Seal Report 설정의 시작점은 모델과 요소가 실행 가능한 SQL로 어떻게 변환되는지를 이해하는 것입니다. 이 문서에서는 다음을 수행하는 방법을 보여줍니다:

  • 데이터 소스 정의
  • 메타데이터를 통해 테이블 노출
  • 구조화된 데이터 세트를 렌더링하는 간단한 보고서 조립

이 기본 개념이 명확해지면, 필터, 조인 및 제한 조건이 모두 동일한 모델 기반 실행 흐름 위에 구축되어 기존 SQL Server 환경에 대한 연결성을 검증하기가 쉬워집니다.

2. 정적 및 동적 선택 목록

필터는 가능한 값을 수동으로 입력하는 대신 제어할 때 더 유용해집니다. 이 문서에서는 선택 목록을 정의하는 방법을 설명합니다:

  • 고정 열거형(정적)
  • 데이터베이스 쿼리에서 동적으로 생성(동적)

재사용 가능한 선택 목록은 여러 보고서가 동일한 참조 데이터를 사용할 때 사용성 및 일관성을 향상시킵니다.

3. 종속 필터 적용하기

종속 필터는 하나의 선택이 다른 필터의 사용 가능한 값을 영향을 주어, 평면적인 필터 인터페이스를 안내형 탐색 경험으로 전환합니다. 이점은 다음과 같습니다:

  • 잘못된 조합 감소
  • 계층적 관계 탐색 용이 (예: 국가 → 도시, 카테고리 → 제품 그룹)

이 접근 방식은 보다 직관적인 사용자 경험을 제공합니다.

4. 사용자 정의 조인 적용

데이터베이스 스키마가 보고를 염두에 두고 설계되지 않은 경우, 사용자 정의 조인을 사용하면 기본 데이터베이스를 변경하지 않고 메타데이터 관계를 조정할 수 있습니다. Seal Report 내부에서 조인 로직을 직접 정의하면 다음을 수행할 수 있습니다:

  • 조건부 관계 지원
  • 보고 요구 사항을 반영하는 대체 조인 경로 생성

이러한 유연성은 레거시 스키마나 데이터베이스 변경이 어려운 환경에서 특히 유용합니다.

5. 제한을 SQL 사용자 정의 함수로 매핑

제한을 데이터베이스 계층에 더 가깝게 이동시킬 수 있으며, 필터링 로직을 SQL 사용자 정의 함수에 위임합니다. 보고서 정의에 조건을 삽입하는 대신, Seal Report는 데이터베이스 내에 유지되는 중앙 집중식 로직을 호출할 수 있습니다. 이는:

  • 메타데이터를 더 깔끔하게 유지
  • 보고 동작과 애플리케이션 수준 필터링 규칙 간의 일관성 보장

이미 데이터베이스 로직에 의해 행 수준 가시성이 제어되는 환경에 적합합니다.

6. 여러 모델 간 필터 공유

보고서에 여러 데이터셋이 포함되면서 일관된 필터링을 유지하는 것이 필수적입니다. 공유 필터는 모델 간 파라미터 값을 동기화하여 테이블, 피벗 뷰, 차트가 동일한 선택에 반응하도록 하며, 그 결과:

  • 예측 가능한 대시보드
  • 시각적 컴포넌트가 동일한 보고 컨텍스트를 공유할 때 유지 관리가 용이

7. Creating a Pivot Table with Custom Filters

피벗 테이블은 측정값을 여러 축에 걸쳐 그룹화하고 비교할 수 있게 함으로써 분석 차원을 추가합니다. 맞춤형 필터와 결합하면 다음을 가능하게 합니다:

  • 추세 요약
  • 컴팩트한 레이아웃에서 차원 간 관계 강조

피벗 테이블은 운영 데이터를 탐색형 대시보드로 변환합니다.

8. 인증 제공자

인증 제공자를 사용하면 Seal Report가 외부 아이덴티티 시스템(API, 토큰, 세션 기반 환경)으로부터 실행 컨텍스트를 가져올 수 있습니다. 보고서 실행 중에 사용자 아이덴티티가 확보되면 필터링 로직을 통해 다음을 수행할 수 있습니다:

  • 행 수준 가시성 강제
  • 테넌트별 접근 제어 적용

이는 기존 웹 애플리케이션에 Seal Report를 임베드할 때, 보고서가 호스트 시스템의 보안 경계를 준수해야 하는 경우에 필수적입니다.


이러한 기사들을 종합하면 기본적인 SQL 기반 보고서에서 재사용 가능한 필터, 데이터베이스 기반 제한, 적응형 조인, 동기화된 대시보드, 그리고 실제 .NET 환경에서 인증을 인식하는 실행까지 지원하는 유연한 보고 레이어로의 발전 과정을 설명하고 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »

오픈소스와 기여 묘지

오픈소스의 가치를 중시하는 사람으로서, 제가 발견한 다소 문제적인 이슈에 대해 언급하고 싶습니다—제가 “contribution cemetery”라고 부르는 것입니다....

라이트, 카메라, 오픈소스!

그들은 open-source 프로젝트와 이를 유지하는 사람들이 청중에게 왜 그렇게 흥미로운 이야기가 되는지, 외부인으로서의 입장이 어떻게 이 이야기를 전달하는 데 도움이 되었는지 탐구한다.