Loading

라이브 SAP HANA 연결에서 쿼리를 실행할 때 잘못된 측정값 집계가 반환됨

게시 일자: Aug 24, 2022
상세 설명
SAP HANA 뷰에 대한 라이브 연결을 사용하는 경우 쿼리의 측정값 집계 값이 올바르지 않은 것을 알 수 있습니다. 그러나 추출 연결을 사용할 때는 이러한 쿼리 결과가 올바릅니다.

Cause

Hana가 집계 노드를 사용하여 작성된 계산 뷰에 대한 SQL 쿼리를 처리하는 경우 Hana는 집계 값을 사용하여 계산을 수행할 수 있습니다. 여기서 일반적인 SQL 의미 체계에서는 상세한 값이 사용됩니다. 예를 들어 Tableau에서 price*quantity로 정의된 계산된 필드의 경우 Hana가 수행하는 계산은 SUM(price*quantity) 대신 SUM(price)*SUM(quantity)가 될 수 있습니다.

계산 뷰는 "_SYS_BIC" 스키마에 상주합니다.

"debug" 이상의 로그 수준에서 Tableau가 계산 뷰에 연결하면 다음 메시지가 포함된 행이 기록됩니다. "HanaConnection::CheckAnalyticView: Detected an analytic view of type CALC"
솔루션
이 동작은 Hana Studio 뷰의 구성으로 설명됩니다. 집계 노드가 포함되는 계산 뷰인 경우 데이터 기본 키의 일부인 집계 노드의 모든 열에 대해 "플래그 유지"를 사용하도록 설정하여 Hana Studio의 뷰를 수정합니다. 이렇게 하면 Hana가 이러한 열을 포함하는 세부 수준으로 쿼리를 처리합니다.

뷰를 수정할 수 없는 경우 다음 해결 방법 중 하나를 시도합니다.

옵션 1

라이브 연결 대신 추출을 사용하고, 데이터 기본 키의 일부인 모든 차원을 포함해야 합니다.

옵션 2

SAP HANA 를 데이터 원본으로 사용하지 않습니다. 대신 뷰를 만들 때 사용한 원본 테이블을 사용합니다.

옵션 3

(참고로 이 세 번째 해결 방법은 성능에 영향을 미칠 수 있습니다.)
이 집계 동작을 방지하려면 뷰에서 “SELECT *”를 수행합니다. 이 작업은 사용자 지정 SQL 데이터 연결을 사용하여 수행할 수 있습니다(뷰에 대한 직접 연결이 아님). 예를 들면 다음과 같습니다.
  • 이름이 “User/SUPERSTORE_AV”인 분석 뷰가 있다고 가정합니다.
  • 이 경우 사용자 지정 SQL은 SELECT * FROM "_SYS_BIC"."User/SUPERSTORE_AV"가 됩니다.
Knowledge 기사 번호

001472896

 
로드 중
Salesforce Help | Article