Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
Tableau 시맨틱스
Tableau 시맨틱스의 공유 치수

Tableau 시맨틱스의 공유 치수

동일한 치수 테이블을 통해 연결하여 여러 팩트 테이블 전반의 데이터를 분석하고 비교합니다. 깔끔하고 신뢰할 수 있는 방식으로 복잡한 비즈니스 관련 분석을 구축하여 중복 관계를 피하고 시맨틱 모델에서 주기를 없애십시오.

대부분의 데이터 집합에서 다른 비즈니스 도메인은 별도로 자체 이벤트를 추적합니다. 세일즈는 트랜잭션을 추적하고, 마케팅은 캠페인을 추적하며, 재고는 재고 수준을 추적합니다. 이러한 각 비즈니스 프로세스는 해당 도메인과 관련된 핵심 메트릭 및 트랜잭션 데이터가 포함된 실제 테이블으로 표시됩니다.

이러한 데이터를 의미 있게 만들기 위해 각 팩트 테이블은 제품, 날짜, 캠페인, 고객 또는 공급업체와 같은 하나 이상의 치수 테이블에 연결됩니다. 치수는 팩트를 설명하고 사용자가 팩트를 그룹화, 필터링 또는 집계할 수 있도록 허용합니다(예: 날짜별, 제품 범주별, 고객 세그먼트별).

여러 팩트 테이블이 동일한 차원을 공유하는 경우가 많습니다. 예를 들어 마케팅 및 세일즈 모두 제품 및 날짜와 연결됩니다.

공유 차원 다이어그램

팩트 테이블이 공유 치수와 연결된 경우 조직에서 데이터를 정렬하고 값을 함께 분석하여 다음을 수행할 수 있습니다.

  • 마케팅의 캠페인 비용과 제품별 판매의 매출 비교
  • 공급업체 또는 고객별 재고 수준 및 세일즈 성과 분석
  • 구매 및 반품 동작과 함께 고객 지원 활동을 분석합니다.

이러한 쿼리는 다양한 팩트 테이블에 적용되며, 공유 치수는 이러한 팩트를 함께 가져오고 나란히 탐색할 수 있는 연결 지점을 제공합니다.

시맨틱 모델에서 이를 지원하기 위해 공유 테이블의 개념을 소개합니다. 치수 테이블이 공유로 표시되면 여러 팩트 테이블을 안전하게 연결하는 데 사용할 수 있음을 알 수 있습니다. 이를 통해 원활하고 순환이 없는 다중 팩트 분석을 수행하고 시맨틱 모델이 도메인 전반에서 쿼리를 올바르게 해석하고 실행할 수 있습니다.

관련 테이블 및 비관련 테이블 비교

공유 테이블의 또 다른 핵심 개념은 관련 테이블과 관련 없는 테이블의 차이입니다.

두 테이블이 정의된 관계에 의해 직접 연결된 경우 연결된 것으로 간주됩니다. 관련 테이블 간의 쿼리는 예상대로 작동합니다. 시스템에서 정의된 경로를 사용하여 조인합니다.

두 테이블이 완전히 연결되지 않은 경우 즉, 직접 또는 공유 연결이 없는 경우 시스템에서 데이터를 결합하는 방법을 결정할 수 없으며 쿼리가 실패합니다.

경우에 따라 테이블은 공유 치수를 통해서만 연결됩니다. 공유 테이블의 필드를 포함하지 않고 두 팩트 테이블의 필드를 쿼리하고 필드가 집계되지 않은 경우 시스템에서 교차 조인을 수행합니다. 즉, 하나의 팩트 테이블의 모든 행이 정렬할 공유 키가 없으므로 다른 행의 모든 행과 결합됩니다.

예를 들어, 세일즈와 마케팅이 모두 공유 제품 테이블에 연결되어 있고, [제품][제품 이름] 없이 [세일즈][세일즈 수량][마케팅][비용]을 쿼리하면 모든 세일즈 행과 모든 마케팅 행이 결합됩니다.

이를 방지하려면 쿼리에 제품 또는 날짜와 같은 공유 테이블의 필드가 포함되어야 하며, 이는 조인 키로 작동하고 두 팩트 전반에 걸쳐 값을 그룹화하고 집계할 수 있는 공유 축을 제공합니다.

공유된 치수를 사용하면 쿼리 내에서 올바르게 사용되는 경우에만 격리될 테이블에서 데이터를 분석할 수 있습니다.

팩트 트리 및 구조

팩트 트리는 동일한 비즈니스 영역에 속하고 서로 연결된 테이블 그룹입니다. 일반적으로 하나 이상의 팩트 테이블과 치수 테이블이 포함됩니다.

이 구조는 단순히 모델링 개념이 아니라 쿼리를 실행할 때 시스템에서 자동으로 구축합니다. 팩트 트리는 공유 치수를 올바르게 평가하기 위해 시맨틱 레이어가 내부적으로 테이블을 구성하는 방법입니다.

위의 예제 다이어그램에서 마케팅은 제품 및 날짜 공유 테이블에 연결된 팩트 테이블입니다. 팩트 트리를 만듭니다. 세일즈는 동일한 공유 차원에 연결되어 별도의 팩트 트리를 형성하는 다른 팩트 테이블입니다. 이 구조를 사용하면 시스템에서 각 트리가 어떻게 작동하는지 독립적으로 이해하고 공유 차원을 통해 교차 트리 분석을 활성화할 수 있습니다.

팩트 트리는 순환이 없는 상태로 유지해야 합니다. 정기식은 모호합니다. 시스템이 두 개 이상의 경로를 통해 동일한 테이블에 도달할 수 있는 경우 다음 경로를 알지 못하거나 필터 및 집계를 올바르게 적용하는 방법을 알지 못할 수 있습니다. 따라서 마케팅을 하위 범주(제품을 통해 이미 액세스 가능)에 직접 연결하는 등 주기를 도입하는 새 관계를 만들 수 없습니다.

공유 치수가 쿼리에 미치는 영향

공유된 차원은 시맨틱 모델을 구조화하는 데 도움이 될 뿐만 아니라 런타임 시 쿼리 동작 방식을 제어하여 정확한 결과와 일관된 논리를 보장합니다.

마케팅 지출이 판매 수량과 어떻게 연결되는지 분석한다고 가정합니다. 다음 두 측정값은 서로 다른 팩트 테이블에서 가져옵니다. 마케팅 및 세일즈. 직접 정렬할 수 있는 공유 컨텍스트가 없으므로 의미 있게 정렬할 수 없습니다. 공유 참조를 사용하지 않고 두 필드를 모두 쿼리로 끌면 시스템에서 행을 일치시킬 수 없으며 잘못된 결과를 반환하거나 실패할 수도 있습니다.

그러나 제품 및 날짜와 같은 두 가지 공유 치수를 가져오면 상황이 변경됩니다. 다음과 같은 질문을 할 수 있습니다. "각 제품 및 월에 대해 마케팅에 지출한 금액과 판매된 단위는 몇 개입니까?"

세일즈와 마케팅이 모두 제품 및 날짜(공유 테이블)에 연결되어 있으므로 이제 시스템에서 두 측정값을 제품별, 월별로 올바르게 정렬하고 의미 있는 집계된 결과를 반환할 수 있습니다.

제품 Month(월) 마케팅 지출 세일즈 수량
자전거 2024년 1월 5,000 12
자전거 2024년 2월 null 8
승용차 2024년 1월 10,320 22
승용차 2024년 2월 5,000 10

필터링 동작

필터는 관련 없는 테이블의 데이터 변경을 방지하는 방식으로 적용됩니다.

  • 마케팅 유형과 같은 팩트별 필드에 필터를 적용하면 다른 팩트 또는 공유 치수가 아닌 팩트 테이블만 필터링합니다.
  • 제품 이름 또는 날짜와 같은 공유 치수에 필터를 적용하면 연결된 모든 팩트 테이블에 적용됩니다.

이 동작은 필터가 관련 없는 레코드를 제거하지 못하도록 방지합니다. 예를 들어, 마케팅 유형 필터에서 온라인을 선택하면 마케팅 지출만 업데이트됩니다. 판매량은 영향을 받지 않습니다.

팩트 트리는 순환이 없는 상태로 유지해야 합니다. 정기식은 모호합니다. 시스템이 두 개 이상의 경로를 통해 동일한 테이블에 도달할 수 있는 경우 다음 경로를 알지 못하거나 필터 및 집계를 올바르게 적용하는 방법을 알지 못할 수 있습니다. 따라서 마케팅을 하위 범주(제품을 통해 이미 액세스 가능)에 직접 연결하는 등 주기를 도입하는 새 관계를 만들 수 없습니다.

계산된 필드 및 팩트 트리 제한

계산된 필드는 팩트 트리 경계를 반드시 준수해야 합니다. 행 수준 계산 필드를 만드는 경우 예:

IF [Support].[Priority] <= 1 "High" ELSE "Low"

-- 필드는 동일한 팩트 트리 내에 있는 한 유효합니다(이 경우 지원). 이를 사용하여 패턴을 분석하거나 고객 또는 제품과 같은 치수에 대해 지원 관련 활동을 필터링할 수 있습니다(해당 치수가 공유된 경우). 모든 항목이 예상대로 동작합니다.

그러나 다음과 같이 여러 팩트 테이블에 걸쳐 있는 계산된 필드를 만드는 경우

[재고].[수량] + [매출].[매출량]

-- 플랫폼에서 오류가 발생합니다. 두 개의 서로 다른 팩트 트리의 행 수준 데이터를 결합하려고 하며, 시스템에서 해당 식에 대한 일반적인 세부 사항 수준을 확인할 수 없습니다. 각 팩트 트리에 자체 독립적인 세분화 및 필터링 컨텍스트가 있습니다.

유효한 교차 팩트 계산을 얻으려면 각 팩트를 독립적으로 집계한 다음, 보기 수준에서 해당 집계를 결합해야 합니다.

SUM([재고].[수량]) + SUM([판매].[판매 수량])

두 측정값이 모두 결합되기 전에 집계되고 집계 범위가 제품 수준 또는 보기에 있는 치수로 지정되므로 이 식이 허용됩니다.

공유 차원 및 팩트 트리의 제한 사항

  • 팩트 테이블은 서로 연결되지 않은 상태로 유지해야 합니다. 직접 조인할 수 없습니다. 공유 치수 테이블을 통해서만 연결해야 합니다.
  • 행 수준 계산된 필드(치수 또는 측정값 등)는 단일 팩트 트리에 완전히 포함되어야 합니다.
  • 공유 테이블을 다른 공유 테이블 및 팩트 테이블에 연결할 수 없습니다. 다시 말해 팩트 테이블과 해당 치수 간의 연결 경로에 공유 테이블이 하나만 있을 수 있습니다. 예를 들어, 제품이 날짜(다른 공유 테이블)에 연결된 공유 테이블이고 두 가지가 모두 세일즈에 연결된 경우 이 구조가 지원되지 않습니다.
  • 동일한 쿼리에서 여러 팩트 트리의 필드를 필터링할 경우 해당 필터를 OR가 아닌 AND 조건을 사용하여 결합해야 합니다.
  • 새 공유 테이블 만들기
    공유 테이블을 사용하여 여러 팩트 테이블을 공통 치수를 통해 연결하고 다양한 테이블 전반의 레코드를 비교합니다. 이렇게 하면 데이터 모델이 깔끔하고 명확하게 유지되고 필터가 다양한 데이터 집합에서 올바르게 작동하는지 확인할 수 있습니다.
 
로드 중
Salesforce Help | Article