DSPL 세대

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

각 연령대의 총계는 국가 값의 합계와 일치하지 않을 수 있습니다. 예를 들어 방법이나 시스템의 존재 자체로 인해 제외될 수 있습니다.

이제 기능:

  1. "롤업" 전체 질병을 파악하고 연령대별 확진자 수
  2. 표준 geo:country 사용 country 열의 개념을 정의해 보겠습니다. 전체 이름, 위치 등을
  3. 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 파일에서 삭제됩니다. 대신 가져온 개념을 사용합니다.

다양한 이름, 설명 및 단위 정보를 입력한 후 데이터 세트 번들을 압축하여 공개 데이터 탐색기에 업로드하여 시각화입니다.