SAP HANA 계산 보기 튜토리얼
계산 보기란 무엇입니까?
SAP HANA 계산 보기는 강력한 정보 보기입니다.
SAP HANA 분석 뷰 측정값은 단 하나의 팩트 테이블에서만 선택할 수 있습니다. 정보 뷰에서 더 많은 팩트 테이블이 필요한 경우 계산 뷰가 그림에 등장합니다. 계산 뷰는 복잡한 계산을 지원합니다.
계산 보기의 데이터 기반에는 테이블, 열 보기, 분석 보기, 계산 보기가 포함될 수 있습니다.
우리는 만들 수 있습니다 조인, 데이터 소스에 대한 통합, 집계 및 예측.
계산 보기에는 여러 측정값이 포함될 수 있으며 다차원 보고에 사용될 수도 있고 목록 유형 보고에 사용되는 측정값이 없을 수도 있습니다.
특징 SAP HANA 계산 화면은 아래와 같습니다 –
- 복잡한 계산을 지원합니다.
- OLTP 및 OLAP 모델을 지원합니다.
- 클라이언트 처리, 언어, 통화 변환을 지원합니다.
- Union, Projection, Aggregation, Rank 등을 지원합니다.
SAP HANA Calculation View는 두 가지 유형이 있습니다.
- SAP HANA 그래픽 계산 보기(작성자: SAP HANA Studio 그래픽 편집기).
- SAP HANA 스크립트 기반 계산 뷰(SQL 스크립트로 생성됨) SAP 하나 스튜디오).
SAP HANA 그래픽 계산 보기
In SAP HANA 분석 보기, 하나의 테이블에서만 측정값을 선택할 수 있습니다.
따라서 다른 테이블의 측정값을 포함하는 뷰에 대한 요구 사항이 있는 경우 분석 뷰가 아닌 계산 뷰를 통해서는 달성할 수 없습니다.
따라서 이 경우 각 테이블에 대해 서로 다른 두 가지 분석 뷰를 사용하고 이를 계산 뷰에 결합할 수 있습니다.
두 개의 분석 보기 "AN_PURCHASE_ORDER"와 "AN_FI_DOCUMENT"를 결합하여 그래픽 계산 보기 "CA_FI_LEDGER"를 만들려고 합니다.
CA_FI_LEDGER는 구매 주문과 관련된 재무 문서 세부 정보를 표시합니다.
단계 1) 이 단계에서,
- 패키지(여기 모델링)로 이동하여 마우스 오른쪽 버튼을 클릭합니다.
- 새 옵션을 선택합니다.
- 계산 보기를 선택합니다.
계산 보기 편집기가 표시되고 시나리오 패널이 아래와 같이 표시됩니다.
시나리오 패널의 상세 내용은 아래와 같습니다.
- 팔레트: 이 섹션에는 계산 보기를 작성하기 위한 소스로 사용할 수 있는 아래 노드가 포함되어 있습니다.
우리는 5가지 다른 유형의 노드를 가지고 있습니다.
- 어울리다: 이 노드는 두 개의 소스 개체를 결합하고 결과를 다음 노드로 전달하는 데 사용됩니다. 조인 유형에는 내부, 왼쪽 외부, 오른쪽 외부 및 텍스트 조인이 있습니다.참고 : 조인 노드에는 두 개의 소스 개체만 추가할 수 있습니다.
- 노동 조합: 이것은 여러 소스 간의 모든 합집합 연산을 수행하는 데 사용됩니다. 소스는 n개의 객체일 수 있습니다.
- 투사: 이는 통합, 집계 및 순위와 같은 다음 노드에서 사용하기 전에 열을 선택하고, 데이터를 필터링하고, 추가 열을 생성하는 데 사용됩니다.참고 : Projection 노드에는 하나의 소스 객체만 추가할 수 있습니다.
- 집합: 선택한 속성을 기준으로 특정 열에 대한 집계를 수행하는 데 사용됩니다.
- 순위 : 이는 SQL의 RANK 함수를 정확하게 대체합니다. 요구 사항에 따라 파티션 및 순서를 조항별로 정의할 수 있습니다.
단계 2)
- 팔레트에서 Projection 노드를 클릭하고 구매 주문 분석 보기에서 시나리오 영역으로 끌어다 놓습니다. 이름을 "Projection_PO"로 변경했습니다.
- 팔레트에서 Projection 노드를 클릭하고 FI 문서 분석 보기의 시나리오 영역으로 끌어서 놓습니다. 이름을 "Projection_FI"로 변경했습니다.
- 분석 보기 “AN_PUCHASE_ORDER” “AN_FI_DOCUMENT”를 각각 끌어서 놓고 컨텐츠 폴더에서 투영 노드와 “Projection_FI”로 각각 끌어 놓습니다.
- Palette에서 Join Node를 클릭하고 시나리오 영역으로 드래그 앤 드롭합니다.
- Projection_PO 노드를 Join_1 노드에 결합합니다.
- Projection_FI 노드를 Join_1 노드에 결합합니다.
- 팔레트에서 Aggregation 노드를 클릭하고 시나리오 영역으로 드래그 앤 드롭합니다.
- Join_1 노드를 Aggregation 노드에 조인합니다.
계산 보기를 생성하기 위해 두 개의 분석 보기를 추가했습니다.
단계 3) 집계 아래의 Join_1 노드를 클릭하면 세부 정보 섹션이 표시되는 것을 볼 수 있습니다.
- 출력을 위해 Projection_PO 노드에서 모든 열을 선택합니다.
- 출력을 위해 Projection_FI 노드에서 모든 열을 선택합니다.
- Projection_PO 노드를 Projection_PO의 Projection_FI 노드에 결합합니다. PO_Number = 투영_FI.PO_NO.
단계 4) 이 단계에서,
- 집계 노드를 클릭하면 창의 오른쪽에 세부 정보가 표시됩니다.
- 세부정보 창의 오른쪽에 표시된 Join_1에서 출력할 열을 선택합니다.
단계 5) 이제 Semantics Node를 클릭하세요.
세부 정보 화면이 아래와 같이 표시됩니다. 열에 대한 속성 및 측정 유형을 정의하고 이 출력에 대한 키를 표시합니다.
- 특성 및 측정값을 정의합니다.
- PO_Number 및 COMPANY를 키로 표시합니다.
- ACC_DOC_NO를 키로 표시합니다.
단계 6) 창 상단 표시줄에서 계산 보기를 확인하고 활성화합니다.
- 아이콘 확인을 클릭하세요.
- 아이콘 활성화를 클릭하세요.
계산 보기가 활성화되고 아래와 같이 모델링 패키지 아래에 표시됩니다.
계산 보기를 선택하고 마우스 오른쪽 버튼을 클릭 -> 데이터 미리보기
두 개의 분석 뷰를 추가하고 두 분석 뷰에서 측정값(TAX_AMOUNT, GROSS_AMOUNT)을 선택했습니다.
데이터 미리보기 화면은 아래와 같이 표시됩니다.
계산 엔진 계획이라고도 알려진 CE 기능 Opera토르(CE Operators)은 SQL 문 대신 사용할 수 있습니다.
CE 기능은 두 가지 유형이 있습니다 –
데이터 소스 접근 기능
이 함수는 열 테이블이나 열 뷰를 테이블 변수에 바인딩합니다.
다음은 일부 데이터 소스 액세스 기능 목록입니다.
- CE_COLUMN_TABLE
- CE_JOIN_VIEW
- CE_OLAP_VIEW
- CE_CALC_VIEW
관계형 Opera토르 기능
관계형을 사용하여 Opera토르, 사용자는 우회할 수 있습니다 SQL 평가 중에 프로세서를 사용하고 계산 엔진과 직접 통신합니다.
아래는 관계형입니다. Opera기능 목록 -
- CE_JOIN (두 소스 간 내부 조인을 수행하고 필요한 열/데이터를 읽는 데 사용됩니다.)
- CE_RIGHT_OUTER_JOIN(두 소스 간의 Right Outer Join을 수행하고 쿼리된 컬럼을 출력에 표시하는 데 사용됩니다.)
- CE_LEFT_OUTER_JOIN (소스 간 왼쪽 외부 조인을 수행하고 쿼리된 열을 출력에 표시하는 데 사용됩니다).
- CE_PROJECTION (이 함수는 소스의 특정 열을 표시하고 필터를 적용하여 데이터를 제한합니다. 열 이름 별칭 기능도 제공합니다.)
- CE_CALC (비즈니스 요구 사항에 따라 추가 열을 계산하는 데 사용됩니다. 그래픽 모델의 계산 열과 동일합니다.)
아래 목록은 SQL 몇 가지 예와 함께 CE 기능을 사용하면
쿼리 이름 | SQL 쿼리 | CE-빌드 기능 |
---|---|---|
열 테이블에서 쿼리 선택 | 'COLUMN_TABLE'에서 C, D를 선택합니다. | CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D]) |
속성 보기에서 쿼리 선택 | 'ATTRIBUTE_VIEW'에서 C, D 선택 | CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,[C,D]) |
분석 보기에서 쿼리 선택 | SELECT C, D, SUM(E) “ANALYTIC_VIEW” 그룹별 C,D | CE_OLAP_VIEW(“분석_VIEW”,[C,D]) |
계산 보기에서 쿼리 선택 | SELECT C, D, SUM(E) “CALCULATION_VIEW” 그룹별로 C,D | CE_CALC_VIEW(“CALCULATION_VIEW”,[C,D]) |
어디에 | SELECT C, D, SUM(E) "ANALYTIC_VIEW"에서 C = '값' | Var1= CE_COLUMN_TABLE(“COLUMN_TABLE”); CE_PROJECTION(:var1,[C,D],”C” =”값”/ |