Generic
Generic 로드 접두사는 엔터티-특성-값 모델링 데이터(EAV)를 기존의 정규화된 관계형 테이블 구조로 변환할 수 있도록 합니다. EAV 모델링은 "일반 데이터 모델링" 또는 "개방형 스키마"라고도 합니다.
Qlik에서 EAV 모델링 데이터를 로드하고 분석하는 것이 기술적으로 가능하지만, 이에 상응하는 기존 관계형 데이터 구조로 작업하는 것이 더 쉬운 경우가 많습니다.
구문:
Generic( loadstatement | selectstatement )
다음 항목은 이 함수를 사용하는 데 도움이 될 수 있습니다.
항목 | 설명 |
---|---|
Crosstable | Crosstable 로드 접두사는 가로 방향의 데이터를 세로 방향의 데이터로 변환합니다. 접두사는 일반적으로 완전히 다른 사용 사례를 제공하지만 ,순전히 기능적 관점에서 Generic 로드 접두사에 대해 반대 변환을 수행합니다. |
일반 데이터베이스 | EAV로 구조화된 데이터 모델은 여기에서 자세히 설명합니다. |
예 1 - 일반 로드 접두사를 사용하여 EAV로 구조화된 데이터 변환
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 Transactions라는 테이블에 로드되는 데이터 집합이 포함되어 있습니다. 이 데이터 집합에는 날짜 필드가 포함됩니다. 기본 MonthNames 정의가 사용됩니다.
로드 스크립트
Products:
Generic
Load * inline [
Product ID, Attribute, Value
13, Status, Discontinued
13, Color, Brown
20, Color, White
13, Size, 13-15
20, Size, 16-18
2, Status, Discontinued
5, Color, Brown
2, Color, White
44, Color, Brown
45, Size, 16-18
45, Color, Brown
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다. Color.
이 측정값을 추가합니다.
=Count([Product ID])
이제 색 기준으로 제품 수를 검사할 수 있습니다.
Color | =Count([Product ID]) |
---|---|
Brown | 4 |
White | 2 |
각 특성이 원본 대상 테이블 태그 Product에 따라 명명된 별도의 테이블로 분할된 데이터 모델의 모양에 유의합니다. 각 테이블에는 특성이 접미사로 있습니다. 예를 들어 Product.Color입니다. 결과로 제공되는 제품 특성 출력 레코드는 Product ID로 연결됩니다.
Product ID | Status |
---|---|
13 | Discontinued |
2 | Discontinued |
Product ID | Size |
---|---|
13 | 13-15 |
20 | 16-18 |
45 | 16-18 |
Product ID | Color |
---|---|
13 | Brown |
5 | Brown |
44 | Brown |
45 | Brown |
20 | White |
2 | White |
예 2 - 일반 로드 접두사 없이 EAV로 구조화된 데이터 분석
개요
이 예는 EAV로 구조화된 데이터를 원본 형태로 분석하는 방법을 보여 줍니다.
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
이 로드 스크립트에는 EAV 구조의 Products라는 테이블에 로드되는 데이터 집합이 포함되어 있습니다.
이 예에서는 여전히 색상 특성별로 제품을 계수하고 있습니다. 이러한 방식으로 구조화된 데이터를 분석하려면 특성 값 Color를 전달하는 제품의 표현식 수준 필터링을 적용해야 합니다.
또한 개별 특성을 차원이나 필드로 선택할 수 없으므로 효과적인 시각화를 구축하는 방법을 결정하기가 더 어렵습니다.
로드 스크립트
Products:
Load * Inline
[
Product ID, Attribute, Value
13, Status, Discontinued
13, Color, Brown
20, Color, White
13, Size, 13-15
20, Size, 16-18
2, Status, Discontinued
5, Color, Brown
2, Color, White
44, Color, Brown
45, Size, 16-18
45, Color, Brown
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다. Value.
다음 측정값을 만듭니다.
=Count({<Attribute={'Color'}>} [Product ID])
이제 색 기준으로 제품 수를 검사할 수 있습니다.
Value | =Count({<Attribute={'Color'}>} [Product ID]) |
---|---|
Brown | 4 |
White | 2 |
예 3 – 일반 로드에서 결과 출력 테이블 비정규화(고급)
개요
이 예에서는 Generic 로드 접두사에 의해 생성된 정규화된 데이터 구조가 통합된 Product 차원 테이블로 다시 비정규화될 수 있는 방법을 보여 줍니다. 이는 데이터 모델 성능 조정의 일부로 사용할 수 있는 고급 모델링 기술입니다.
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트
Products:
Generic
Load * inline [
Product ID, Attribute, Value
13, Status, Discontinued
13, Color, Brown
20, Color, White
13, Size, 13-15
20, Size, 16-18
2, Status, Discontinued
5, Color, Brown
2, Color, White
44, Color, Brown
45, Size, 16-18
45, Color, Brown
];
RENAME TABLE Products.Color TO Products;
OUTER JOIN (Products)
LOAD * RESIDENT Products.Size;
OUTER JOIN (Products)
LOAD * RESIDENT Products.Status;
DROP TABLES Products.Size,Products.Status;
결과
데이터 모델 뷰어를 열고 결과 데이터 모델의 모양을 확인합니다. 하나의 비정규화된 테이블만 있습니다. 이는 세 개의 중간 출력 테이블(Products.Size, Products.Status 및 Products.Color)의 조합입니다.
Products |
---|
Product ID |
Status |
Color |
Size |
Product ID | Status | Color | Size |
---|---|---|---|
13 | Discontinued | Brown | 13-15 |
20 | - | White | 16-18 |
2 | Discontinued | White | - |
5 | - | Brown | - |
44 | - | Brown | - |
45 | - | Brown | 16-18 |
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다. Color.
이 측정값을 추가합니다.
=Count([Product ID])
Color | =Count([Product ID]) |
---|---|
Brown | 4 |
White | 2 |