DSPL Gen은 CSV 데이터 테이블을 간단한 DSPL 데이터 세트로 변환합니다. 도구는 입력 문장을 파일을 작성하고, 필요한 모든 데이터 테이블을 만들고, DSPL XML 파일을 배치합니다. 결과적으로 거의 완전한 데이터 세트임 '템플릿' 업로드하기 전에 약간의 개선만 하면 되며 있습니다.
DSPL 생성의 기본 가정은 게재위치의 각 열이 입력 CSV 파일은 하나의 DSPL 개념에 해당하며 각 행은 단일 관측치를 만들 수 있습니다. 이 도구는 열을 반복하고 각 열에 적절한 메타데이터를 설정합니다. 열 / 개념 (예: ID, 유형, 측정기준 또는 측정항목) 필요한 모든 개념 정의와 슬라이스를 생성하여 할 수 있습니다.
DSPL 생성 실행
구문
참고: 이 안내에서는 이미 설치 안내 참조하세요.
DSPL Gen을 실행하려면 시스템에서 터미널 / 프롬프트로 이동하여 다음을 입력합니다.
python dsplgen.py -o [output path] [path to CSV file]
여기서 괄호로 묶인 용어는 다음과 같이 대체됩니다.
[output path]
: 파일을 저장할 디렉터리의 경로 배치할 출력 파일 이 디렉터리는 이미 사용하여 파일 시스템에 저장할 수 있습니다.[path to CSV file]
: 입력 CSV 파일의 경로입니다. 자세한 내용은 아래 섹션을 읽고 이 파일의 형식을 지정합니다.
-o [output path]
구성요소는 선택사항입니다. 생략할 경우
출력 파일이 현재 디렉터리에 배치됩니다.
그런 다음 도구가 실행되고 CSV 파일을 반복하여 개념 추출 슬라이스 테이블을 생성할 수 있습니다 오류가 발견되지 않는 한 XML 하나 이상의 CSV 파일이 출력 디렉터리에 작성됩니다.
마지막으로, 원하는 텍스트 편집기에서 XML 파일을 열고
변경할 수 있습니다. 최소한 이름과
도구에서 지정한 다른 값과 함께
** INSERT ... **
표기법
간단한 예
특정 케이스의 총 케이스 수를 알려주는 CSV가 있다고 가정해 보겠습니다. 질병을 월간, 국가, 연령대별로 분류한 것입니다. 편의상 각 측정기준에 2개의 값이 있다고 가정해 보겠습니다.
date,country,age_group,disease_cases 01/2000,US,old,102030 01/2000,MX,old,192939 01/2000,US,young,23131 01/2000,MX,young,12311 02/2000,US,old,143135 02/2000,MX,old,203131 02/2000,US,young,22990 02/2000,MX,young,12591
위의 입력으로 도구를 실행하면 4개의 파일이 생성됩니다.
dataset.xml
: DSPL XML 템플릿country_table.csv
:country
의 값 개념age_group_table.csv
:age_group
개념slice_0_table.csv
: 데이터 세트 슬라이스의 테이블 (다음과 동일함) 입력 테이블(정렬 제외)
이 경우 도구는 해당되는 모든 단어 예측을 열 유형 및 형식입니다. 이제 XML 파일로 이동하여 데이터 세트 메타데이터에서 다양한 이름, 설명, URL을 편집할 수 있습니다.
입력 CSV 주석 달기
기본 옵션
위의 예와 같은 많은 경우 DSPL Gen은 각 열의 메타데이터 예: 그러한 유형의 데이터가 선택할 수 있습니다. 하지만 그 외의 경우에는 도구에서 추측할 수도 있고, 잘못 추측할 수도 있고, 올바르게 추측할 수도 있지만 원하는 동작을 따르지 않을 수 있습니다.
이러한 경우를 처리하기 위해 이 도구는 DSPL 생성 코드 생성을 지원합니다. 옵션/힌트 을 입력합니다. 이를 위한 구문은 다음과 같습니다. 다음과 같습니다.
column1[option1=value1;option2=value2;...],column2[option1=value1;option2=value2;...],column3[...],...
특히 옵션 목록은 대괄호를 사용하고 나머지 옵션은 열 이름 오른쪽에 추가합니다. 설정은 세미콜론으로 구분됩니다. 각 옵션은 옵션 이름, 등호, 옵션 값을 포함해야 합니다.
DSPL Gen은 현재 다음과 같은 기본 옵션을 지원합니다.
옵션 | 설명 | 기본값 |
---|---|---|
type |
이 열의 DSPL 데이터 유형입니다. date 중 하나여야 합니다.
float , integer 또는 string 입니다. |
데이터에서 추측 |
format |
날짜 열의 형식입니다. 이 형식은 Joda DateTime 표준 | 데이터에서 추측 |
slice_role |
슬라이스에서 이 열의 역할 다음 중 하나여야 합니다.
dimension 또는 metric |
열이 date 유형인 경우 dimension 또는
string , 그렇지 않으면 metric |
concept |
이 열이 나타내는 표준 개념입니다. 예:
geo:country 지정된 경우 개념을 가져오고
정의는 XML 파일에 생성됩니다. |
없음 |
extends |
이 열이 확장하는 표준 개념입니다. 예:
entity:entity |
없음 |
parent |
이 열의 상위 개념입니다. 이 상위 요소는 측정기준이어야 합니다. 데이터 세트 내에 정의된 개념 (가져오지 않음) 제공되는 경우 이 정보는 계층 구조에서 개념 계층을 정의하는 데 데이터 세트로 그룹화됩니다. 각 하위 인스턴스에는 하나의 상위 요소만 있을 수 있습니다. 여러 개의 감지한 경우 도구에서 오류가 발생합니다. |
없음 |
가치 전체보기
기본 '힌트' 외에도 옵션을 사용하고
DSPL Gen은 단일 테이블이 주어진 경우 슬라이스 롤업도 지원합니다.
이 도구는 제한된 데이터 세트로 테이블을 자동으로
차원의 하위 집합입니다. 예를 들어 입력 테이블이
시간이 아닌 3개의 차원이 있는 슬라이스 (예: dimension1
,
dimension2
, dimensions3
)를 사용하면
추가 슬라이스도 만듭니다(dimension1
만).
단 dimension2
, dimension1
및
dimension2
등만
슬라이스를 추가하면 데이터 세트를 더 쉽게 탐색할 수 있습니다. 측정기준을 생성하는 데 필요한 측정기준 필터의 수가 줄어들어 시각화할 수 있습니다. 반면에 이 과정에서 원본 파일에서 데이터를 찾을 수 없으므로 올바르게 사용해야 합니다. 전체 구독자 수를 주의 깊게 확인한 다음 데이터 세트로 그룹화됩니다.
롤업 프로세스는 일부 추가 옵션을 포함하여 트리거됩니다. 입력 CSV 헤더입니다.
옵션 | 설명 | 기본값 |
---|---|---|
aggregation |
여러 값을 결합할 때 사용되는 집계 방법입니다.
이 열의 다른 행에 표시됩니다. AVG , COUNT 중 하나여야 합니다.
MAX , MIN 또는 SUM 전용
측정항목에 의미가 있습니다. |
SUM |
rollup |
값이 true 이면
이 열은 '롤업'되었습니다. (즉, 종합된 값)
측정기준 개념에만 의미가 있습니다. |
거짓 |
total_val |
이 열의 값은 이 속성이 호출될 때 유지할 행을 열이 롤업되면 측정기준 개념에서만 의미가 있습니다. | None |
그런 다음 DSPL Gen은 다음 알고리즘을 사용하여 롤업을 계산합니다.
rollup
태그의 값을 사용하여 가능한 모든 값을 계산합니다. 열 조합- 각 조합에 대해 다음을 수행합니다.
<ph type="x-smartling-placeholder">
- </ph>
- 롤업된 열에
total_val
매개변수가 있는 경우 설정한 다음 이 값을 기준으로 행을 필터링합니다. 그렇지 않으면 모든 행을 선택합니다. - 롤업된 열 삭제
- 나머지 측정기준 열의 값을 기준으로 행 그룹화
- 에 지정된 방법을 사용하여 각 측정항목을 집계합니다.
aggregation
매개변수 - 결과의 슬라이스 및 연결된 테이블 만들기
- 롤업된 열에
각 그룹에 하나의 값만 있고
집계 함수를 SUM
(기본값)로 설정하면
소스 표와 생성된 표의 측정항목 값이 동일합니다.즉, 새 값이 없습니다.
생성됩니다 따라서 total_val
매개변수를 사용하고
하나의 'total'이라는 각 조합에 대한 행을
측정기준을 사용하면 미리 계산된 집계를 소스에 직접 저장할 수 있습니다.
경고: 생성된 슬라이스의 수는 2롤업된 열과 같습니다. 이 옵션을 열의 수가 많으면 실행 시간이 매우 길거나 커질 수 있습니다. 데이터 세트입니다
고급 예시
이전 예와 동일한 입력 데이터가 있지만 국가별 집계 포함:
date,country,age_group,disease_cases 01/2000,US,old,102030 01/2000,MX,old,192939 01/2000,total,old,152012 01/2000,US,young,23131 01/2000,MX,young,12311 01/2000,total,young,241011 02/2000,US,old,143135 02/2000,MX,old,203131 02/2000,total,old,211310 02/2000,US,young,22990 02/2000,MX,young,12591 02/2000,total,young,240131
각 연령대의 총계는 국가 값의 합계와 일치하지 않을 수 있습니다. 예를 들어 방법이나 시스템의 존재 자체로 인해 제외될 수 있습니다.
이제 기능:
- "롤업" 전체 질병을 파악하고 연령대별 확진자 수
- 표준
geo:country
사용country
열의 개념을 정의해 보겠습니다. 전체 이름, 위치 등을 disease_cases
개념이quantity:amount
를 확장하도록 합니다. 이렇게 하면 (수동으로) 단위 정보를 XML 파일에 추가할 수 있습니다.
이를 위해 입력 CSV의 헤더 행을 다음과 같이 수정합니다.
date,country[concept=geo:country;rollup=true;total_val=total],age_group,disease_cases[extends=quantity:amount]
도구를 다시 실행하면 추가 슬라이스 테이블을 얻습니다. 국가별 구분이 사라집니다.
date,age_group,disease_cases 01/2000,old,152012 02/2000,old,211310 01/2000,young,241011 02/2000,young,240131
총 값과
total_val
태그가 있는 경우
연령대별 합을 계산합니다.
또한 XML 파일의 disease_cases
정의는
이제 필요에 따라 quantity:amount
의 확장 프로그램이 포함됩니다. 이
country
의 정의가 XML 파일에서 삭제됩니다.
대신 가져온 개념을 사용합니다.
다양한 이름, 설명 및 단위 정보를 입력한 후 데이터 세트 번들을 압축하여 공개 데이터 탐색기에 업로드하여 시각화입니다.