타사 BI 도구와 함께 사용할 중첩된 데이터 구조 평면화

Adobe Experience Platform Query Service는 타사 BI 도구를 통해 데이터베이스에 연결할 때 FLATTEN 설정을 지원합니다. 이 기능은 타사 BI 도구의 중첩된 데이터 구조를 병합하여 사용성을 개선하고 데이터를 검색, 분석, 변환 및 보고하는 데 필요한 워크로드를 줄입니다.

Tableau 및 Power BI과(와) 같은 많은 BI 도구는 기본적으로 중첩된 데이터 구조를 지원하지 않습니다. FLATTEN 설정을 사용하면 임시 버전을 제공하기 위해 데이터 위에 SQL 보기를 만들거나 임시 스키마를 사용할 때 쿼리 서비스 CTAS 또는 INSERT INTO 작업을 사용하여 데이터 세트를 일반 버전으로 복제해야 하는 번거로움이 없습니다.

FLATTEN 설정은 각 리프 필드의 구조를 테이블의 루트로 가져오고 원래 네임스페이스 뒤에 필드 이름을 지정합니다. 이렇게 하면 필드의 컨텍스트를 유지하면서 점 표기법을 사용하여 필드를 해당 XDM(Experience Data Model) 경로와 일치시킬 수 있습니다.

전제 조건

FLATTEN 설정을 사용하려면 Adobe Experience Platform의 다음 구성 요소에 대한 이해가 필요합니다.

  • XDM 시스템: XDM과 Experience Platform 구현의 높은 수준의 개요입니다.

    • Ad Hoc 스키마 만들기: 단일 데이터 집합에서만 사용하도록 이름이 지정된 필드가 있는 XDM 스키마를 Ad Hoc 스키마라고 합니다. 임시 스키마는 특정 종류의 소스 연결을 Experience Platform 및 만들기 위한 다양한 데이터 수집 워크플로우에서 사용됩니다.
  • 샌드박스: Experience Platform은 단일 플랫폼 인스턴스를 별도의 가상 환경으로 분할하여 디지털 경험 애플리케이션을 개발하고 발전시키는 데 도움이 되는 가상 샌드박스를 제공합니다.

  • 중첩된 데이터 구조: 이 문서에서는 중첩된 데이터 구조를 포함하여 복잡한 데이터 형식의 데이터 집합을 만들거나 처리하거나 변환하는 방법에 대한 예를 제공합니다.

FLATTEN 설정을 사용하여 데이터베이스에 연결 connect-with-flatten

FLATTEN 설정은 중첩된 데이터 구조를 별도의 열로 병합합니다. 여기서 특성 이름은 행 값을 포함하는 열 이름이 됩니다. 중첩된 데이터 구조를 지원하지 않는 BI 도구의 데이터로 작업할 때 이 설정은 Ad Hoc 스키마의 사용성을 개선하고 필요한 워크로드를 줄입니다.

선택한 타사 클라이언트를 사용하여 쿼리 서비스에 연결할 때 FLATTEN 설정을 데이터베이스 이름에 추가합니다. 특정 BI 도구를 연결하는 방법에 대한 자세한 내용은 클라이언트를 Query Service에 연결 개요에서 해당 설명서를 참조하십시오. 연결 문자열에는 다음이 포함되어야 합니다.

  • 샌드박스 이름.
  • 콜론 뒤에 all이 있거나 특정 데이터 세트 ID, 보기 ID 또는 데이터베이스 이름이 있습니다.
  • 물음표(?) 뒤에 FLATTEN 키워드가 옵니다.

입력은 다음 형식을 사용해야 합니다.

{sandbox_name}:{all/ID/database_name}?FLATTEN

연결 문자열의 예는 다음과 같습니다.

prod:all?FLATTEN

example

이 안내서에 사용된 예제 스키마는 표준 필드 그룹 Commerce 세부 정보를 사용합니다. 이 스키마는 commerce 개체 구조 및 productListItems 배열을 사용합니다. Commerce 세부 정보 필드 그룹🔗에 대한 자세한 내용은 XDM 설명서를 참조하세요. 스키마 구조의 표현은 아래 이미지에서 볼 수 있습니다.

및 구조를 포함하는 Commerce 세부 정보 필드 그룹의 스키마 다이어그램입니다.

BI 도구가 중첩된 데이터 구조를 지원하지 않는 경우 중첩된 필드에 직렬화된 값(예: 예제 스키마의 commerceproductListItems)이 포함되어 있으면 중첩된 필드를 참조하기 어려울 수 있습니다. 이러한 값은 인코딩된 단일 commerce 문자열 필드의 일부로 나타날 수 있으며 실제로 사용할 수 없습니다.

다음 값은 형식이 잘못 중첩된 필드의 commerce.order.priceTotal(3018.0), commerce.order.purchaseID(c9b5aff9-25de-450b-98f4-4484a2170180) 및 commerce.purchases.value(1.0)을(를) 나타냅니다.

("(3018.0,c9b5aff9-25de-450b-98f4-4484a2170180)","(1.0)")

FLATTEN 설정을 사용하면 점 표기법과 원래 경로 이름을 사용하여 스키마 내의 개별 필드 또는 중첩된 데이터 구조의 전체 섹션에 액세스할 수 있습니다. commerce 필드 그룹을 사용하는 이 형식의 예는 아래에 나와 있습니다.

commerce.order.priceTotal
commerce.order.purchaseID
commerce.purchases.value

다른 데이터 구조를 처리할 때 FLATTEN 설정에 특정 제한이 있습니다. 제한 섹션에 전체 세부 정보가 제공됩니다.

쿼리의 필드에 따옴표 사용 quotation-marks

이제 병합된 루트 필드는 해당 XDM 경로와 일치하도록 점 표기법을 사용합니다. 쿼리에 사용할 경우 필드를 따옴표(" ")로 묶어야 합니다.

아래의 SQL 예는 중첩 쿼리의 원래 상태를 표시합니다.

SELECT YEAR(timestamp) AS year,
       SUM(commerce.order.priceTotal) AS revenue
FROM purchase_events_dataset
WHERE commerce.purchases.value > 0
GROUP BY 1;

병합된 데이터 필드를 사용할 때 쿼리는 점 표기법을 사용하여 작성되며 아래와 같이 따옴표로 묶여 있습니다.

SELECT YEAR(timestamp) AS year,
       SUM("commerce.order.priceTotal") AS revenue
FROM purchase_events_dataset
WHERE "commerce.purchases.value" > 0
GROUP BY 1;

제한 사항 limitations

FLATTEN 설정이 현재 다음 데이터 구조를 병합하지 않습니다.

데이터 구조
제한 사항
배열
명시적 배열 인덱스 또는 EXPLODE 함수를 사용하여 배열에 액세스합니다.
지도
문자열 키를 사용하여 맵 아래의 값에 액세스하여 맵에 액세스합니다.

맵과 배열 제한을 모두 해결하려면 Power BI의 고급 옵션 -> SQL 문과 같은 BI 도구 원시 SQL 편집 기능을 사용해야 합니다.

맵 및 배열 제한 사항을 모두 해결하려면 원시 SQL 편집과 같은 BI 도구가 필요합니다. SQL 문 섹션에서 Power BI 고급 옵션을 사용하여 사용자 지정 SQL 쿼리를 입력하는 방법에 대한 안내서를 참조하세요.

다음 단계

이 문서에서는 타사 BI 도구와 함께 사용할 중첩된 데이터 구조를 병합하는 방법을 다룹니다. 아직 클라이언트를 연결하지 않은 경우 클라이언트 연결 개요에서 지원되는 타사 클라이언트 목록을 참조하십시오.

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb