데이터 설정
위젯에 실제 데이터를 연결하고 시각화하는 방법을 설명합니다. D.Hub 대시보드는 두 가지 데이터 모드를 지원합니다.
데이터 소스
D.Hub 대시보드는 ClickHouse 데이터베이스를 통해 데이터를 조회합니다. D.Hub에 등록된 데이터셋은 자동으로 ClickHouse 테이블로 동기화되어 빠른 분석 쿼리가 가능합니다.
간편 모드 (Simple Mode)
[Screenshot] 간편 모드 데이터 설정 화면
코드를 작성하지 않고 UI에서 데이터셋과 필드를 선택하여 시각화합니다.
설정 방법
- 데이터 소스 선택: 연결할 데이터셋을 선택합니다.
- 메트릭(Metric) 설정:
- 값 필드: 시각화할 데이터 필드를 선택합니다. (예:
price,count) - 집계 방식:
SUM,AVG,COUNT,MIN,MAX중 선택합니다.
- 값 필드: 시각화할 데이터 필드를 선택합니다. (예:
- 그룹화 (Group By): 데이터를 그룹화할 기준 필드를 선택합니다. (예:
category,date)- X축/Y축: 차트 유형에 따라 축에 매핑될 필드를 지정합니다.
지원 집계 함수
| 함수 | 설명 | 예시 |
|---|---|---|
SUM | 합계 | 총 매출액 |
AVG | 평균 | 평균 주문 금액 |
COUNT | 개수 | 주문 건수 |
MIN | 최소값 | 최저 가격 |
MAX | 최대값 | 최고 가격 |
COUNT DISTINCT | 고유 개수 | 고유 고객 수 |
쿼리 모드 (Query Mode)
[Screenshot] 쿼리 모드 SQL 에디터 화면
SQL 쿼리를 직접 작성하여 복잡한 데이터 가공이 필요한 경우 사용합니다. ClickHouse SQL 문법을 사용합니다.
기본 사용법
- 데이터 모드를
Query로 변경합니다. - SQL 에디터에 쿼리를 작성합니다.
- 쿼리 실행 버튼을 눌러 결과를 미리 확인합니다.
- 결과 컬럼을 X축, Y축 등 차트 속성에 매핑합니다.
쿼리 예시
-- 카테고리별 매출 합계
SELECT
category,
SUM(amount) as total
FROM sales_data
GROUP BY category
ORDER BY total DESC
-- 일별 주문 추이
SELECT
toDate(order_date) as date,
COUNT(*) as order_count,
SUM(amount) as revenue
FROM orders
GROUP BY date
ORDER BY date
-- 시간대별 트래픽 분석
SELECT
toHour(timestamp) as hour,
COUNT(*) as visits
FROM page_views
WHERE toDate(timestamp) = today()
GROUP BY hour
ORDER BY hour
ClickHouse 유용한 함수
| 함수 | 설명 | 예시 |
|---|---|---|
toDate() | 날짜 변환 | toDate(timestamp) |
toHour() | 시간 추출 | toHour(timestamp) |
today() | 오늘 날짜 | WHERE date = today() |
yesterday() | 어제 날짜 | WHERE date = yesterday() |
toStartOfWeek() | 주 시작일 | toStartOfWeek(date) |
toStartOfMonth() | 월 시작일 | toStartOfMonth(date) |
formatDateTime() | 날짜 포맷팅 | formatDateTime(date, '%Y-%m') |
날짜 범위 필터
날짜 범위 선택기(Date Range Selector) 위젯을 추가하면 대시보드 전체 위젯에 시간 필터를 적용할 수 있습니다.
설정 방법
- 위젯 라이브러리에서 Date Range 위젯을 캔버스에 추가합니다.
- 각 위젯의 데이터 설정에서 날짜 필드를 지정합니다.
- 날짜 범위 선택기에서 기간을 선택하면 모든 연동된 위젯이 자동으로 필터링됩니다.
쿼리 모드에서 날짜 필터 사용
쿼리 모드에서는 $from과 $to 변수를 사용하여 날짜 범위를 적용할 수 있습니다:
SELECT
toDate(order_date) as date,
SUM(amount) as revenue
FROM orders
WHERE order_date >= $from AND order_date <= $to
GROUP BY date
ORDER BY date
데이터 새로고침
- 자동 새로고침: 대시보드 설정에서 자동 새로고침 간격을 지정할 수 있습니다.
- 수동 새로고침: 대시보드 상단의 새로고침 버튼을 클릭하여 즉시 데이터를 갱신합니다.

