분석 뷰 함수

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인 경우 사실 값 테이블의 열이 차원으로 선택됩니다. 기본값은 아니오 입니다.
  • 소유자: 이 필드에는 분석 뷰의 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.

이 예에서는 Analytic View를 생성할 수 있습니다.
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: 사실 값 테이블의 이름입니다.

이 예제에서는 Analytic View의 사실값(fact) 테이블 이름에 대한 오류 클래스를 얻을 수 있습니다.
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')
    )
  )