분석 뷰 함수
Adp.Analytics 클래스는 응용 프로그램 프로그래밍 인터페이스의 클래스, 메소드, 속성 및 매개변수에 대한 구문과 설명을 Data Studio Suite 도구의 Analytic Views 도구에 제공합니다. 요청된 분석 뷰가 존재하지 않을 경우(생성 제외) 모든 함수는 Analytic view does not exist 메시지를 반환합니다.
분석 뷰 이름 목록을 반환합니다.
Analytics.get_list(owner)매개변수:
- 소유자: 이 필드에는 데이터베이스 링크의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예에서는 다음과 같은 분석 뷰 목록을 사용할 수 있습니다.
Analytics.get_list()
{
"nodes": [
{
"label": "ANALYTIC_VIEW1",
"type": "ANALYTIC_VIEW",
"id": "\"ADMIN\".\"DB\".\"ANALYTIC_VIEW1\"",
"data": {
"name": "ANALYTIC_VIEW1",
"namespace": "DB",
"path": "\"DB\".\"ANALYTIC_VIEW1\"",
"schema": "ADMIN",
"classifications": {
"CAPTION": "Analytic View1",
"DESCRIPTION": "Analytic View1"
},
"application": "DATABASE",
"created": "2021-06-09T14:19:06Z",
"updated": "2021-06-15T10:23:07Z"
}
},...
]
}분석 뷰 프로시저 생성차원 테이블 리스트 및 측정 단위 리스트를 기반으로 Analytic View를 생성합니다.
구문
Analytics.create(fact_table, dimensions, measures, av_name,
owner)매개변수:
- fact_table: 사실 값 테이블의 이름입니다.
- 차원은 차원 테이블 이름 목록입니다. 차원 테이블에 사실 값 테이블의 키와 조인이 없으면 오류가 발생합니다.
- 측정 단위: 이 필드는 집계에 사용될 사실 값 테이블 열의 목록을 지정합니다.
- av_name: 이 필드는 분석 뷰 이름입니다. 이 매개변수가 누락된 경우 사실 값 테이블 "<fact_table>_AV"의 이름을 기반으로 기본 분석 뷰 이름을 사용하십시오.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예에서는 네 개의 차원과 두 개의 측정항목을 기반으로 분석 뷰를 생성할 수 있습니다.
tables = ["CHANNELS","PRODUCTS","PROMOTIONS","TIMES"]
measures = [ 'UNIT_COST', 'UNIT_PRICE']
adp.Analytics.create('COSTS', tables, measures)
// Output
success분석 뷰 자동 생성 프로시저
사실값(fact) 테이블을 기반으로 Analytic View를 생성합니다. 사실 값 테이블의 열을 기반으로 측정 단위가 자동으로 선택됩니다. 차원은 적합한 차원 테이블에서 선택됩니다.
함수는 사실 값 테이블의 이름을 기반으로 기본 분석 뷰 이름을 사용합니다. "<fact_table>_AV".
구문
Analytics.create_auto(fact_table, skip_dimensions,
owner)매개변수:
- fact_table: 사실 값 테이블의 이름입니다.
- skip_dimensions: 필드 값이 True인 경우 사실 값 테이블의 열이 차원으로 선택됩니다. 기본값은 아니오 입니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
Analytics.create_auto('COSTS', False) // Output success분석 뷰 삭제 프로시저
지정된 이름의 분석 뷰 삭제
구문
Analytics.drop(model_name, delete_objects)매개변수:
- model_name: 분석 뷰의 이름입니다.
- delete_objects: 필드 값이 True이면 모든 관련 객체(차원 및 측정 단위)가 삭제됩니다. 기본값은 아니오 입니다.
예
이 예제에서는 Analytic View를 삭제할 수 있습니다.
adp.Analytics.drop('COSTS_AV', True)Analytic View 프로시저 컴파일
Analytic View를 컴파일합니다. query를 최적화하여 사실값(fact) 테이블에서 데이터를 효율적으로 검색합니다.
Analytics.compile(av_name, owner)매개변수:
- av_name: 분석 뷰의 이름입니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예제에서는 Analytic View를 컴파일할 수 있습니다.
adp.Analytics.compile('COSTS_AV')측정 목록 가져오기 프로시저
지정된 분석 뷰에서 측정 단위 목록을 가져옵니다.
구문
Analytics.get_measures_list(av_name, owner)매개변수:
- av_name: 분석 뷰의 이름입니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예에서는 분석 뷰의 측정 단위 목록을 가져올 수 있습니다.
adp.Analytics.get_measures_list('COSTS_AV')
// Output
{
"nodes": [
{
"label": "UNIT_COST",
"type": "MEASURE",
"id": "\"ADMIN\".\"DB\".\"COSTS_AV\".\"MEASURE\".\"UNIT_COST\"",
"data": {
"name": "UNIT_COST",
"namespace": "MEASURE",
"path": "\"DB\".\"COSTS_AV\".\"MEASURE\".\"UNIT_COST\"",
"schema": "ADMIN",
"application": "DATABASE",
"created": "2022-08-16T17:04:08Z",
"updated": "2022-08-16T17:04:08Z"
}
},...
]
}미리보기 프로시저 가져오기
분석 뷰에서 데이터를 선택하기 위한 분석 뷰(계층(이름 및 캡션) 및 측정 단위), 집계 데이터 및 SQL 질의의 메타데이터를 반환합니다.
구문
Analytics.get_data_preview(entity_name, owner)매개변수:
- entity_name: 분석 뷰의 이름입니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예에서는 분석 뷰의 미리보기 데이터를 가져올 수 있습니다.
adp.Analytics.get_data_preview('COSTS_AV')
// Output
{
"av": "COSTS_AV",
"caption": null,
"description": null,
"metadata": {
"hierarchies": [
{
"name": "CHANNEL_ID",
"caption": "CHANNEL_ID"
},
{
"name": "PROD_ID",
"caption": "PROD_ID"
}
],
"measures": [
{
"name": "UNIT_COST",
"caption": "UNIT_COST"
},
{
"name": "UNIT_PRICE",
"caption": "UNIT_PRICE"
}
]
},
"data": [...],
"SQL": "..."
}메타데이터 가져오기 프로시저
분석 뷰의 세부 메타데이터를 반환합니다.
구문
Analytics.get_metadata(av_name, owner)매개변수:
- av_name: 분석 뷰의 이름입니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
소유자 스키마에서 분석 뷰의 세부 메타데이터를 반환합니다(누락되었거나 [없음]으로 설정된 경우 현재 스키마 사용).
예
이 예에서는 분석 뷰의 메타데이터를 가져올 수 있습니다.
adp.Analytics.get_metadata('COSTS_AV')차원명 프로시저
분석 뷰의 차원 이름 배열을 반환합니다.
구문
Analytics.get_dimension_names(av_name)매개변수:
- av_name: 분석 뷰의 이름입니다.
예
이 예에서는 분석 뷰의 차원 이름을 가져올 수 있습니다.
adp.Analytics.get_dimension_names('COSTS_AV')팩트 테이블 이름 프로시저
분석 뷰의 사실 값 테이블 이름을 반환합니다.
Analytics.get_fact_table_name(av_name)매개변수:
- av_name: 분석 뷰의 이름입니다.
예
이 예제에서는 Analytic View의 사실값(fact) 테이블 이름을 가져올 수 있습니다.
adp.Analytics.get_fact_table_name('COSTS_AV')차원에서 오류 분류 가져오기 프로시저
분석 뷰를 분석하는 동안 지정된 차원의 오류 정보를 반환합니다. 이 방법은 분석 뷰의 차원에 오류가 없는지 확인하는 데 사용됩니다. 오류 ERROR_COUNT가 0이 아니고 errorData가 비어 있지 않으며 ERROR_MESSAGE(오류의 텍스트 표현), ERROR_NUMBER(Oracle 오류 코드)가 포함되어 있습니다.
구문
Analytics.get_error_classes_from_dim(av_name,
dimension)매개변수:
- av_name: 분석 뷰의 이름입니다.
- 차원: 차원 이름입니다.
예
이 예에서는 분석 뷰 차원의 오류 클래스 이름을 확인할 수 있습니다.
adp.Analytics.get_error_classes_from_dim('COSTS_AV', 'CHANNELS')팩트 테이블 프로시저에서 오류 클래스 가져오기
Analytic View를 분석하는 동안 지정된 사실값(fact) 테이블의 오류 정보를 반환합니다. 이 방법은 분석 뷰의 사실값 테이블에 오류가 없는지 확인하는 데 사용됩니다. 오류의 경우 ERROR_COUNT가 0이 아니고 errorData가 비어 있지 않으며 ERROR_MESSAGE(오류의 텍스트 표현) 및 ERROR_NUMBER(Oracle 오류 코드)를 포함합니다.
구문
Analytics.get_error_classes_from_fact_tab(av_name,
fact_tab)매개변수:
- av_name: 분석 뷰의 이름입니다.
- fact_table: 사실 값 테이블의 이름입니다.
예
adp.Analytics.get_error_classes_from_fact_tab('COSTS_AV', 'COSTS')Analytic View를 분석하는 동안 지정된 사실값(fact) 테이블의 오류 정보를 반환합니다. 이 방법은 분석 뷰의 사실값 테이블에 오류가 없는지 확인하는 데 사용됩니다. 오류 ERROR_COUNT가 0이 아니고 errorData가 비어 있지 않고 ERROR_MESSAGE(오류 텍스트 표현) 및 ERROR_NUMBER(Oracle 오류 코드)가 포함된 경우
품질 보고서 프로시저
av_name에 의해 지정된 분석 뷰의 오류 정보를 반환합니다. 이 메소드는 분석 뷰의 사실값 테이블 및 차원을 확인합니다. 오류 텍스트 표현의 경우 오류가 보고서에 포함됩니다.
구문
Analytics.quality_report(av_name)매개변수:
- av_name: 분석 뷰의 이름입니다.
예
이 예에서는 분석 뷰의 품질 보고서를 가져올 수 있습니다.
adp.Analytics.quality_report('COSTS_AV')
// Output
[
"Fact table COSTS has no errors",
"Dimension COSTS_AV_CHANNELS_AD has no errors",
"Dimension COSTS_AV_PRODUCTS_AD has no errors",
"Dimension COSTS_AV_PROMOTIONS_AD has no errors",
"Dimension COSTS_AV_TIMES_AD has no errors"
]데이터 가져오기 프로시저
분석 뷰에서 집계된 데이터를 반환합니다. 반환 값은 query 결과 리스트입니다.
구문
Analytics.get_data(levels, column_names, entity_name, hierarchies,
measures, where_condition, owner)매개변수:
- 레벨: 분석 뷰의 레벨입니다.
- column_names: 열 배열입니다.
- entity_name: 분석 뷰의 이름입니다.
- hierarchies: 선택한 계층의 배열입니다.
- 측정 단위: 측정 단위 배열입니다.
- where_condition: 조건의 배열이며, 각 조건에는 계층, 열, 연산자 및 값의 네 필드가 있습니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예에서는 분석 뷰의 품질 보고서를 가져올 수 있습니다.
adp.Analytics.get_data(True,
["COSTS_AV_PROD_HIER_PROD_ID_ATTR",
"UNIT_COST",
"COSTS_AV_PROD_HIER_DEPTH"], 'COSTS_AV',
["COSTS_AV_PROD_ID_HIER"],
["UNIT_COST", "UNIT_PRICE"],
[{"hierarchy": "COSTS_AV_PROD_ID_HIER", "column": "LEVEL_NAME", "operator": "=", "value": "ALL:PROD_ID"}])
//Output
[{"UNIT_COST":808685.68},{"UNIT_COST":213170.06},{"UNIT_COST":16778.02},...},SQL 질의 프로시저
get_data에 사용된 SQL 질의를 반환합니다.
구문
Analytics.get_sql(levels, column_names, entity_name, hierarchies,
measures, where_condition, owner)매개변수:
- 레벨: 분석 뷰의 레벨입니다.
- column_names: 열 배열입니다.
- entity_name: 분석 뷰의 이름입니다.
- hierarchies: 선택한 계층의 배열입니다.
- 측정 단위: 측정 단위 배열입니다.
- where_condition: 조건의 배열이며, 각 조건에는 계층, 열, 연산자 및 값의 네 필드가 있습니다.
- 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
예
이 예제에서는 Analytic View의 집계된 데이터에 대한 SQL을 가져올 수 있습니다.
adp.Analytics.get_sql(True,
["COSTS_AV_PROD_HIER_PROD_ID_ATTR",
"UNIT_COST",
"COSTS_AV_PROD_HIER_DEPTH"], 'COSTS_AV',
["COSTS_AV_PROD_ID_HIER"],
["UNIT_COST", "UNIT_PRICE"],
[{"hierarchy": "COSTS_AV_PROD_ID_HIER", "column": "LEVEL_NAME", "operator": "=", "value": "ALL:PROD_ID"})
//Output
SELECT
"MEASURES"."UNIT_COST" AS "UNIT_COST"
FROM "ADMIN"."COSTS_AV" HIERARCHIES(
"PROD_ID"."PROD_ID")
WHERE
(
(
"PROD_ID"."PROD_ID"."LEVEL_NAME" IN ('ALL', 'PROD_ID')
)
)