본문 바로가기
Tableau 흡수내용

[Tableau/태블로]VDS API???(기존 VDS와 다른점은?/hyper to query)

by Mr.noobiest 2025. 6. 26.
반응형

Tableau VizQL Data Service(VDS) 심층 분석: 데이터 활용의 새로운 지평

Tableau는 강력한 데이터 시각화 도구로 널리 알려져 있습니다. 하지만 때로는 Tableau의 시각화 환경을 넘어, 데이터를 직접 프로그래밍 방식으로 제어하고 싶을 때가 있습니다. 바로 이 지점에서 Tableau VizQL Data Service(VDS)가 빛을 발합니다. VDS는 Tableau Cloud 및 Server에 게시된 데이터 원본에 프로그래밍 방식으로 접근하여 데이터를 개발자 친화적인 JSON 형태로 쿼리할 수 있도록 지원합니다.

VDS란 무엇인가요?

VDS는 Tableau의 강력한 데이터 엔진인 VizQL을 활용하여, 게시된 데이터 원본에서 필요한 데이터를 직접 추출할 수 있게 해주는 서비스입니다. 이는 마치 Tableau의 "헤드리스 BI(Headless BI)" 경험과 같다고 할 수 있습니다. 즉, 시각화된 대시보드 없이도 Tableau 데이터 원본의 모든 이점(그룹 권한, 행 수준 보안 등)을 누리면서 원하는 데이터를 정확히 가져올 수 있습니다.

VDS를 왜 사용해야 할까요?

VDS는 특히 다음과 같은 경우에 매우 유용합니다.

  • 임베디드 분석(Embedded Analytics): 웹 애플리케이션이나 다른 시스템에 Tableau 데이터를 통합할 때, VDS를 통해 필요한 데이터를 직접 가져와 커스텀 UI에 표시할 수 있습니다.
  • 데이터 과학 및 자동화: Python, R 등 데이터 과학 도구를 사용하여 Tableau 데이터를 분석하거나, 데이터 기반의 자동화된 프로세스를 구축할 때 유연하게 데이터를 활용할 수 있습니다.
  • 맞춤형 애플리케이션 개발: Tableau 대시보드 외에 특정 비즈니스 로직이나 사용자 경험을 제공하는 맞춤형 애플리케이션을 개발할 때, VDS는 데이터 백엔드 역할을 수행합니다.

VDS는 Tableau Cloud에 완전히 배포되었으며, Tableau Server 2025.x 버전부터는 Server 환경에서도 사용할 수 있게 될 예정입니다.

시작하기 전에 알아야 할 것들

VDS를 사용하기 위해 추가적인 설정이나 라이선스는 필요하지 않습니다. 다만, 쿼리하려는 데이터 원본에 'API Access' 권한이 활성화되어 있어야 합니다.

인증 방식은 Tableau REST API와 동일하게 'X-Tableau-Auth' 헤더를 사용하며, 값으로는 로그인 요청 후 받은 API 토큰을 사용합니다.

Tableau REST API와 VDS 연동하기

VDS 쿼리를 실행하려면 쿼리할 데이터 원본의 고유 식별자인 datasourceLuid가 필요합니다. 이 datasourceLuid는 Tableau REST API를 통해 얻을 수 있습니다. Tableau REST API는 Tableau Server, Tableau Cloud 사이트 및 Prep Conductor 리소스를 프로그래밍 방식으로 관리하고 변경할 수 있도록 지원합니다.

  1. 인증 토큰 획득: 먼저 Tableau Server 또는 Tableau Cloud에 REST API를 사용하여 로그인하고 인증 토큰을 받습니다. 이 토큰은 이후의 모든 API 요청에 사용됩니다.
  2. 데이터 원본 정보 조회: 획득한 인증 토큰을 사용하여 REST API를 통해 게시된 데이터 원본 목록을 조회합니다. 이 응답에서 원하는 데이터 원본의 id (즉, datasourceLuid)를 찾을 수 있습니다.
  3. VDS 쿼리 실행: 찾은 datasourceLuid를 VDS 쿼리의 datasource 섹션에 포함하여 데이터를 요청합니다.

이러한 연동을 통해 Tableau의 시각화 환경을 벗어나 외부 애플리케이션에서 Tableau 데이터를 유연하게 활용할 수 있습니다.

VDS 쿼리의 구성 요소

VDS 쿼리는 기본적으로 JSON 형태로 구성되며, 크게 세 가지 주요 섹션으로 나뉩니다.

  1. datasource: 쿼리할 데이터 원본의 LUID(Local Unique ID)를 지정합니다.
  2. options: debug: true와 같이 디버그 모드를 설정하여 더 자세한 오류 메시지를 받을 수 있습니다. (기본값은 true입니다.)
  3. query: 이 섹션이 VDS 쿼리의 핵심입니다. 응답으로 받고 싶은 필드, 적용할 집계, 사용자 정의 계산 및 필터를 정의합니다.

VDS 쿼리 구축하기

이제 실제 쿼리 예시를 통해 VDS의 강력함을 살펴보겠습니다.

1. 기본 필드 선택 및 정렬

가장 기본적인 쿼리는 데이터 원본의 특정 필드를 선택하는 것입니다. 예를 들어, 'Order ID', 'Customer Name', 'Order Date'를 가져오고 싶다면 다음과 같이 구성할 수 있습니다. fieldAlias를 사용하여 필드 이름을 변경할 수도 있습니다.

// REQUEST
{
    "datasource": {
        "datasourceLuid": "{{datasource_luid}}"
    },
    "options": {
        "debug": true
    },
    "query": {
        "fields": [
            {
                "fieldCaption": "Order ID"
            },
            {
                "fieldCaption": "Customer Name"
            },
            {
                "fieldCaption": "Order Date",
                "fieldAlias": "Date Ordered"
            }
        ]
    }
}

여기에 정렬을 추가하려면 sortPrioritysortDirection을 필드 정의에 포함하면 됩니다.

// REQUEST (정렬 추가)
{
    "datasource": {
        "datasourceLuid": "{{datasource_luid}}"
    },
    "options": {
        "debug": true
    },
    "query": {
        "fields": [
            {
                "fieldCaption": "Region",
                "sortPriority": 1
            },
            {
                "fieldCaption": "State",
                "sortPriority": 2,
                "sortDirection": "DESC"
            },
            {
                "fieldCaption": "Sales",
                "function": "SUM"
            }
        ]
    }
}

2. 사용자 정의 필드/계산 추가

VDS의 강력한 기능 중 하나는 데이터 원본에 존재하지 않는 사용자 정의 필드나 계산을 즉석에서 생성할 수 있다는 점입니다. calculation 키워드를 사용하여 Tableau Desktop과 동일한 구문으로 계산식을 작성할 수 있습니다.

예를 들어, 'Days Since Last Order'라는 필드를 계산하려면 다음과 같이 할 수 있습니다.

// REQUEST (사용자 정의 계산 추가)
{
    "datasource": {
        "datasourceLuid": "{{datasource_luid}}"
    },
    "options": {
        "debug": true
    },
    "query": {
        "fields": [
            {
                "fieldCaption": "Customer Name"
            },
            {
                "fieldCaption": "Sales",
                "fieldAlias": "Total Sales",
                "function": "SUM"
            },
            {
                "fieldCaption": "Order Date",
                "fieldAlias": "Last Order Date",
                "function": "MAX"
            },
            {
                "fieldCaption": "Days Since Last Order",
                "calculation": "DATEDIFF('day',MAX([Order Date]),MAX(TODAY()))"
            }
        ]
    }
}

3. 필터 적용

실제 시나리오에서는 모든 데이터를 가져오는 대신 특정 조건에 맞는 데이터만 필요할 때가 많습니다. VDS는 쿼리에 필터 정의를 추가하는 기능을 지원하여 원하는 데이터만 정확히 가져올 수 있도록 합니다.

AI(Gemini API)와 VDS API 활용 방안

Tableau VDS를 통해 추출한 정형 데이터를 Gemini API의 강력한 언어 및 멀티모달 처리 능력과 결합하면, 데이터 활용의 범위를 혁신적으로 확장할 수 있습니다. Gemini 모델은 비디오를 포함한 다양한 데이터를 처리할 수 있으며, 개발자들이 혁신적인 애플리케이션을 구축하도록 돕습니다.

  1. 자동화된 보고서 생성 및 요약: VDS를 통해 Tableau 데이터 원본에서 핵심 지표, 추세, 집계된 데이터를 추출합니다. Gemini API는 이 데이터를 입력받아 주요 인사이트를 식별하고, 자연어로 된 보고서 요약이나 전체 보고서를 자동으로 생성할 수 있습니다. 예를 들어, 매일/매주 비즈니스 성과 보고서를 자동으로 작성하여 시간을 절약할 수 있습니다.
  2. 자연어 기반 데이터 질의(NLQ) 인터페이스 구축: VDS를 데이터 백엔드로 활용하고, Gemini API를 통해 사용자의 자연어 질문(예: "1분기 동부 지역 매출은 얼마였나요?")을 해석하여 VDS 쿼리로 변환합니다. 쿼리 실행 후, Gemini가 결과를 다시 자연어로 사용자에게 설명해주는 대화형 데이터 분석 시스템을 구축할 수 있습니다. 이는 데이터 접근성을 크게 향상시킬 수 있습니다.
  3. 예측 분석 및 이상 감지 설명: VDS를 통해 과거 및 실시간 데이터를 Gemini API에 제공합니다. Gemini는 이 데이터를 분석하여 미래 추세를 예측하거나, 비정상적인 데이터 포인트(이상치)를 감지할 수 있습니다. 더 나아가, Gemini의 생성 능력을 활용하여 이상치가 발생한 원인이나 예측의 함의를 쉽게 이해할 수 있는 형태로 설명해주는 기능을 추가할 수 있습니다.

이러한 활용 방안들은 Tableau 데이터의 가치를 극대화하고, 인공지능을 통해 새로운 비즈니스 기회를 창출하는 데 기여할 것입니다.

유용한 도구 및 자료

VDS 쿼리 작성을 돕기 위한 유용한 도구들도 있습니다.

  • VDS 유틸리티: Kyle Massey가 개발한 무료 유틸리티(http://kylejmassey.com/vds-utility)는 시각적인 UI를 통해 VDS 쿼리를 구축하고 JSON을 복사할 수 있도록 돕습니다.
  • Postman 컬렉션: VDS 요청 예시가 포함된 Postman 컬렉션도 제공되어 API 테스트를 쉽게 할 수 있습니다.
  • 공식 문서: Tableau의 VizQL Data Service 공식 문서는 최신 기능과 고급 사용 사례에 대한 정보를 제공합니다.

결론

Tableau VizQL Data Service는 Tableau 데이터 원본의 잠재력을 최대한 활용할 수 있는 강력하고 유연한 도구입니다. "헤드리스 BI" 접근 방식을 통해 개발자는 Tableau의 데이터 거버넌스 및 보안 이점을 유지하면서도, 데이터를 원하는 애플리케이션이나 워크플로우에 자유롭게 통합할 수 있습니다. VDS와 AI 기술의 결합은 데이터 분석의 새로운 지평을 열어줄 것입니다. VDS를 통해 데이터 활용의 새로운 지평을 열어보시길 바랍니다.

Tableau VDS 연동, Gemini API 활용, 데이터 자동화, BI 솔루션, AI 보고서 생성, 자연어 처리, 예측 분석, Tableau 개발, 데이터 통합, 클라우드 BI, REST API, VizQL Data Service, 데이터 분석 자동화, AI 기반 데이터 분석, Tableau 확장, 데이터 API, 인공지능 데이터 분석, Tableau Server API, Tableau Cloud API, Tableau 데이터 연동, Tableau 프로그래밍, Tableau API 연동, Gemini 데이터 분석, AI 데이터 활용, Tableau 개발자, 데이터 시각화 API, Tableau 자동화, 데이터 인사이트, AI 기반 BI, Tableau 커스터마이징, 데이터 추출, 데이터 처리, Tableau API 문서, Gemini 활용 사례, AI 비즈니스 인텔리전스, 데이터 기반 의사결정, Tableau 고급 활용, 데이터 과학 Tableau, Tableau Python, Tableau R, 데이터 통합 솔루션, Tableau 클라우드, Tableau 서버, 데이터 분석 플랫폼, AI 솔루션, 데이터 관리, 데이터 거버넌스, Tableau 보안, 데이터 접근성, 데이터 활용 전략, Tableau 개발 가이드, Gemini AI, 데이터 API 연동, Tableau 데이터 서비스, VizQL API, 데이터 분석 자동화, AI 기반 데이터 분석, Tableau 확장, 데이터 API, 인공지능 데이터 분석, Tableau Server API, Tableau Cloud API.
728x90
반응형