BI 쿼리 도구
BI 쿼리 도구는 관리자가 화면에서 SELECT 쿼리를 시각적으로 만들고, SQL을 생성하고, 재사용 가능한 BI 쿼리를 저장하고, 저장 프로시저를 만들고, 자동 실행 스케줄을 설정하며, 실행 결과를 확인할 수 있는 기능입니다.
이 도구는 보고서용 쿼리나 반복 실행이 필요한 데이터 조회 쿼리를 쉽게 만들기 위한 관리자/개발자용 기능입니다.
화면 개요
BI 쿼리 도구는 여러 작업 영역으로 구성되어 있습니다. 왼쪽에는 데이터베이스 테이블, 저장 프로시저, 저장된 BI 쿼리가 표시되고, 오른쪽에는 시각적 쿼리 빌더, 생성된 SQL, 저장 프로시저 생성 영역, 스케줄 설정, 실행 결과 영역이 표시됩니다.
| 영역 | 설명 |
|---|---|
| Tables | 사용 가능한 데이터베이스 테이블을 표시합니다. 테이블을 검색하고 쿼리 빌더에 추가할 수 있습니다. |
| Stored Procedures | 보고서 또는 쿼리 실행과 관련된 기존 저장 프로시저를 표시합니다. |
| Saved BI Queries | 재사용 가능한 저장 쿼리와 스케줄 정보를 표시합니다. |
| Visual Builder | 테이블, 필드, 조인, 조건, 정렬, 조회 제한을 설정하는 영역입니다. |
| Generated SQL | 생성된 SELECT SQL을 표시합니다. 저장 또는 실행 전에 직접 수정할 수 있습니다. |
| Stored Procedure | 현재 SELECT SQL을 기반으로 저장 프로시저를 생성하거나 업데이트합니다. |
| Schedule | 저장된 쿼리 또는 저장 프로시저가 자동으로 실행되도록 스케줄을 설정합니다. |
| Execution Result | 수동 실행 결과와 실행 로그를 확인합니다. |
상단 버튼 설명
| 버튼 | 기능 |
|---|---|
| Clear | 현재 선택된 빌더 항목과 생성된 SQL을 초기화합니다. |
| Generate SQL | 선택된 테이블, 필드, 조인, 조건, 정렬, 제한 값을 기준으로 SELECT SQL을 생성합니다. |
| Run | 현재 쿼리를 실행하고 결과를 Execution Result 영역에 표시합니다. |
Tables 패널
Tables 패널에는 쿼리 빌더에 추가할 수 있는 데이터베이스 테이블 목록이 표시됩니다. 테이블명을 검색한 뒤 Add 버튼을 클릭하여 쿼리에 추가할 수 있습니다.
테이블 추가 방법
- Tables 탭을 엽니다.
- 필요한 경우 테이블명을 검색합니다.
- 테이블 오른쪽의 Add 버튼을 클릭합니다.
- 선택한 테이블이 Visual Builder 영역에 추가됩니다.
설정에 따라 테이블을 더블 클릭해도 빌더에 추가될 수 있습니다.
Stored Procedures 탭
Stored Procedures 탭에는 사용 가능한 저장 프로시저 목록이 표시됩니다. 보고서 또는 BI 쿼리 실행과 관련된 저장 프로시저를 확인하거나 재사용할 때 사용합니다.
Saved BI Queries
Saved BI Queries 영역에는 저장된 쿼리 정의가 표시됩니다. 저장된 쿼리는 나중에 다시 불러오거나 스케줄 실행에 사용할 수 있습니다.
주요 작업
- 저장된 쿼리를 검색할 수 있습니다.
- 기존 저장 쿼리를 불러올 수 있습니다.
- 스케줄 정보를 확인할 수 있습니다.
- 더 이상 필요 없는 저장 쿼리를 삭제할 수 있습니다.
Visual Builder
Visual Builder는 SQL을 직접 처음부터 작성하지 않아도 SELECT 쿼리를 만들 수 있도록 도와주는 영역입니다. 테이블을 추가한 뒤 필드, 조인, 조건, 정렬, 조회 제한 값을 설정합니다.
Add Join
여러 테이블의 데이터를 함께 조회해야 할 때 Add Join을 사용합니다. 조인 규칙에는 테이블들이 어떤 컬럼으로 연결되는지 입력합니다.
예:
Customer.Id = Order.CustomerId
Select All
추가된 테이블에서 선택 가능한 모든 필드를 선택합니다.
Unselect All
선택된 필드를 모두 해제하고 필요한 필드만 다시 선택할 수 있게 합니다.
Join Rules
Join Rules 영역은 선택한 테이블들이 어떻게 연결되는지 정의합니다. 여러 테이블을 함께 조회할 때 필요한 설정입니다.
WHERE
WHERE 입력란은 조회할 데이터를 조건으로 필터링할 때 사용합니다.
예:
t1.IsActive = 1
t1.Status = 'READY'
t1.CreatedDate >= '2026-01-01'
ORDER BY
ORDER BY 입력란은 조회 결과의 정렬 순서를 지정할 때 사용합니다.
예:
t1.CreatedDate DESC
t1.Name ASC
TOP / LIMIT
TOP / LIMIT 값은 조회할 최대 레코드 수를 제한합니다.
예:
100
Generated SQL
Generated SQL 영역에는 Visual Builder에서 생성한 SQL이 표시됩니다. 저장, 저장 프로시저 생성, 실행 전에 SQL을 직접 확인하고 수정할 수 있습니다.
Save Query
현재 SQL을 재사용 가능한 BI 쿼리로 저장합니다. 저장된 쿼리는 나중에 다시 불러오거나 스케줄 실행에 사용할 수 있습니다.
Run SQL
현재 SQL을 실행하고 결과를 Query Result 탭에 표시합니다.
조인이나 조건이 포함된 쿼리는 실행하기 전에 반드시 생성된 SQL을 먼저 확인하세요.
Stored Procedure
Stored Procedure 영역에서는 현재 SELECT SQL을 기반으로 재사용 가능한 보고서용 저장 프로시저를 만들 수 있습니다.
Procedure Name
생성할 저장 프로시저 이름을 입력합니다. 관리하기 쉽도록 명확한 이름 규칙을 사용하는 것이 좋습니다.
예:
dbo.BI_ReportName
dbo.BI_SalesSummary
dbo.BI_CustomerActivity
Use CREATE OR ALTER PROCEDURE
저장 프로시저 스크립트에 CREATE OR ALTER PROCEDURE 문법을 사용할지 설정합니다.
이미 같은 이름의 프로시저가 있을 수 있는 경우 유용합니다.
Generate SP Script
현재 SELECT SQL을 기준으로 저장 프로시저 스크립트를 생성합니다.
Apply SP Script
생성된 저장 프로시저 스크립트를 데이터베이스에 적용합니다.
저장 프로시저 스크립트를 적용하면 데이터베이스에 변경이 발생합니다. 적용하기 전에 프로시저 이름과 SQL 내용을 반드시 확인하세요.
Schedule
Schedule 영역에서는 저장된 쿼리 또는 저장 프로시저가 자동으로 실행되도록 설정할 수 있습니다.
| 항목 | 설명 |
|---|---|
| Enable Schedule | 저장 쿼리의 스케줄 사용 여부를 설정합니다. |
| Schedule Type | 한 번 실행, 간격 실행, 매일, 매주, 매월 등 실행 방식을 선택합니다. 실제 항목은 시스템 설정에 따라 달라질 수 있습니다. |
| Schedule Value | 선택한 스케줄 방식에 필요한 값을 입력합니다. |
| Time UTC | 스케줄 실행 시간을 UTC 기준으로 입력합니다. |
| Weekly Days | 주간 실행 시 사용할 요일 값을 입력합니다. 예: MON,TUE,WED |
Save Query / Schedule
쿼리와 스케줄 설정을 저장합니다. 스케줄이 활성화되어 있으면 시스템이 설정된 조건에 따라 쿼리를 자동 실행할 수 있습니다.
Execution Result
Execution Result 영역에는 Query Result와 Execution Logs 탭이 있습니다.
Query Result
수동으로 실행한 쿼리의 결과를 표시합니다.
Execution Logs
수동 실행 또는 스케줄 실행 내역을 확인할 수 있습니다.
권장 작업 순서
- Admin > Site > Query Builder 메뉴로 이동합니다.
- Tables 패널에서 필요한 테이블을 검색합니다.
- Add 버튼을 눌러 테이블을 Visual Builder에 추가합니다.
- 보고서에 필요한 필드를 선택합니다.
- 여러 테이블을 사용할 경우 Join Rules를 입력합니다.
- 필터가 필요하면 WHERE 조건을 입력합니다.
- 정렬이 필요하면 ORDER BY 조건을 입력합니다.
- 조회 건수를 제한하려면 TOP / LIMIT 값을 입력합니다.
- Generate SQL 버튼을 클릭합니다.
- 생성된 SQL을 확인합니다.
- Run SQL로 결과를 테스트합니다.
- 재사용이 필요하면 Save Query를 클릭합니다.
- 쿼리 테스트가 끝난 후 저장 프로시저 생성 또는 스케줄 설정을 진행합니다.
자주 사용하는 작업
| 작업 | 권장 방법 |
|---|---|
| 간단한 보고서 만들기 | 테이블 하나를 추가하고 필드를 선택한 뒤 SQL을 생성하고 실행합니다. |
| 여러 테이블 보고서 만들기 | 여러 테이블을 추가하고 Join Rules를 입력한 뒤 SQL을 생성합니다. |
| 재사용 가능한 SQL 저장 | SQL을 생성하고 테스트한 뒤 Save Query를 클릭합니다. |
| 저장 프로시저 만들기 | 먼저 SQL을 생성한 뒤 저장 프로시저 스크립트를 만들고 적용합니다. |
| 보고서 자동 실행 | 쿼리를 저장하고 스케줄을 활성화한 뒤 스케줄 방식과 시간을 설정합니다. |
주의사항
- 이 도구는 SELECT 기반 보고서 쿼리 작성에 사용하는 것을 권장합니다.
- 생성된 SQL은 저장하거나 스케줄 등록하기 전에 반드시 테스트하세요.
- 큰 결과가 반환되지 않도록 TOP / LIMIT 값을 사용하는 것이 좋습니다.
- 큰 테이블을 조인하면 성능에 영향을 줄 수 있으므로 주의해야 합니다.
- 저장 쿼리와 저장 프로시저 이름은 명확하게 작성하세요.
- 스케줄 실행 시간은 UTC 기준입니다.
- 이 도구는 신뢰할 수 있는 관리자에게만 접근 권한을 부여해야 합니다.
권장 이름 규칙
저장 쿼리:
Customer Activity Report
Monthly Sales Summary
Unpaid Invoice List
저장 프로시저:
dbo.BI_CustomerActivity
dbo.BI_MonthlySalesSummary
dbo.BI_UnpaidInvoiceList
문제 해결
| 문제 | 가능한 원인 | 해결 방법 |
|---|---|---|
| 테이블 목록이 보이지 않음 | 데이터베이스 연결 설정이 잘못되었거나 사용자 권한이 부족할 수 있습니다. | 데이터베이스 연결 문자열과 DB 사용자 권한을 확인합니다. |
| 생성된 SQL이 실행되지 않음 | 선택한 필드, 조인 규칙, 필터 조건이 잘못되었을 수 있습니다. | 생성된 SQL의 테이블 별칭, 컬럼명, 조인, WHERE 조건을 확인합니다. |
| 조회 결과가 없음 | WHERE 조건이 너무 제한적일 수 있습니다. | 조건을 제거하거나 단순화한 뒤 다시 실행합니다. |
| 저장 프로시저를 만들 수 없음 | DB 사용자가 저장 프로시저 생성 또는 수정 권한을 가지고 있지 않을 수 있습니다. | 필요한 DB 권한을 부여하거나 데이터베이스 관리자에게 확인합니다. |
| 스케줄이 실행되지 않음 | 스케줄이 활성화되지 않았거나 스케줄 값이 잘못되었을 수 있습니다. | Enable Schedule 체크 여부와 Schedule Type, Schedule Value, Time UTC 값을 확인합니다. |
관리 권장 사항
- 스케줄을 등록하기 전에 쿼리를 먼저 수동으로 실행해서 테스트하세요.
- 불필요한 데이터 처리를 줄이기 위해 WHERE 조건을 명확하게 작성하세요.
- 큰 테이블을 테스트할 때는 조회 건수를 제한하세요.
- 저장 프로시저 이름은
dbo.BI_로 시작하는 규칙을 사용하면 관리가 쉽습니다. - 스케줄 쿼리의 실행 로그를 주기적으로 확인하세요.
- 기술 지식이 없거나 권한이 없는 사용자에게 이 기능을 노출하지 마세요.
BI 쿼리 도구는 데이터베이스 테이블에 직접 접근하고 실행 가능한 SQL을 생성할 수 있습니다. 신중하게 사용하고, 반드시 신뢰할 수 있는 관리자에게만 권한을 부여하세요.