Power BI에서 DirectQuery를 사용하여 SAP HANA 데이터 원본에 연결
DirectQuery를 사용하여 SAP HANA 데이터 원본에 직접 연결할 수 있습니다. 이는 가져오기 모델을 지원하기 위해 사용 가능한 리소스를 초과하는 큰 데이터 세트에 종종 필요합니다. DirectQuery 모드에서 SAP HANA에 연결하는 방법에는 각각 다른 기능이 있는 두 가지 방법이 있습니다.
SAP HANA를 다차원 원본(기본값)으로 처리합니다. 이 경우 Power BI가 SAP Business Warehouse 또는 Analysis Services와 같은 다른 다차원 원본에 연결할 때와 유사합니다. SAP HANA를 다차원 원본으로 연결하면 단일 분석 또는 계산 보기가 선택되고 해당 뷰의 모든 측정값, 계층 구조 및 특성을 필드 목록에서 사용할 수 있습니다. 의미 체계 모델에서는 계산 열 또는 기타 데이터 사용자 지정을 추가할 수 없습니다. 시각적 요소가 만들어질 때 집계 데이터는 SAP HANA에서 즉시 검색됩니다. SAP HANA를 다차원 원본으로 처리하는 것은 SAP HANA를 통해 새 DirectQuery 보고서의 기본값입니다.
SAP HANA를 관계형 원본으로 처리합니다. 이 경우 Power BI는 SAP HANA를 관계형 데이터 원본으로 처리합니다. 이 방법은 더 큰 유연성을 제공합니다. 무엇보다도 계산 열을 추가하고 다른 원본의 데이터를 포함할 수 있지만 측정값이 예상대로 집계되도록 주의해야 합니다. 비가산적 측정값을 피하라. 또한 성능 문제를 방지하기 위해 열과 조인이 거의 없는 간단한 보기를 사용해야 합니다. 의미 체계 모델에서 측정값을 다시 만드는 것을 고려하되, 복잡한 측정값은 제대로 작동하지 않을 수 있음을 유념하십시오. SAP HANA를 관계형 원본으로 사용하는 경우 SAP HANA 계층 구조를 사용할 수 없습니다.
연결 방법은 다음 이미지에 표시된 대로 전역 도구 옵션에 의해 결정됩니다. 이는 파일>옵션 및 설정을 선택한 다음, 옵션>DirectQuery을 설정하여, SAP HANA를 관계형 원본으로 처리할옵션을 선택함으로써 설정됩니다.
SAP HANA를 관계형 소스로 처리하는 옵션은 SAP HANA를 통해 DirectQuery를 사용하는 새 보고서에 대한 연결 방법을 제어합니다. 현재 보고서의 기존 SAP HANA 연결이나 열려 있는 다른 보고서의 연결에는 영향을 주지 않습니다. 따라서 옵션이 현재 선택 취소된 경우 데이터 가져오기사용하여 SAP HANA에 새 연결을 추가하면 해당 연결이 SAP HANA를 다차원 원본으로 처리합니다. 그러나 SAP HANA에 연결하는 다른 보고서가 열려 있는 경우 해당 보고서는만들 때
두 SAP HANA 연결 방법은 서로 다른 동작을 구성하며 기존 보고서를 한 연결 방법에서 다른 연결 방법으로 전환할 수 없습니다.
SAP HANA를 다차원 원본으로 처리(기본값)
SAP HANA에 대한 모든 새 연결은 기본적으로 이 연결 방법을 사용하여 SAP HANA를 다차원 원본으로 처리합니다. SAP HANA를 다차원 원본으로 연결하는 경우 다음 고려 사항이 적용됩니다.
데이터 가져오기 탐색기에서 단일 SAP HANA 보기를 선택할 수 있습니다. 개별 측정값 또는 특성을 선택할 수 없습니다. 연결 시 정의된 쿼리가 없습니다. 이는 데이터 가져오기와 다르거나, SAP HANA를 관계형 원본으로 처리하는 동안 DirectQuery를 사용하는 경우와 다릅니다. 이 고려 사항은 이 연결 방법을 선택할 때 SAP HANA SQL 쿼리를 직접 사용할 수 없음을 의미합니다.
선택한 뷰의 모든 측정값, 계층 및 특성이 필드 목록에 표시됩니다.
시각적 표현에서 측정값이 사용될 때, SAP HANA는 시각적 표현에 필요한 집계 수준에서 측정값을 검색하기 위해 쿼리됩니다. 카운터 및 비율과 같은 비가산적 측정값을 처리할 때 모든 집계는 SAP HANA에서 수행되며 Power BI에서 더 이상 집계를 수행하지 않습니다.
SAP HANA에서 올바른 집계 값을 항상 얻을 수 있도록 하려면 특정 제한 사항이 적용되어야 합니다. 예를 들어 계산 열을 추가하거나 동일한 보고서 내에서 여러 SAP HANA 뷰의 데이터를 결합할 수 없습니다. 열을 삭제하거나 해당 데이터 형식을 변경할 수도 없습니다.
SAP HANA를 다차원 원본으로 처리하면 대체 관계형 방법보다 유연성이 떨어지지만 더 간단합니다. 이 연결 방법은 더 복잡한 SAP HANA 측정값을 처리할 때 올바른 집계 값을 보장하며 일반적으로 성능이 향상됩니다.
필드 목록에는 SAP HANA 보기의 모든 측정값, 특성 및 계층이 포함됩니다. 이 연결 방법을 사용할 때 적용되는 동작은 다음과 같습니다.
하나 이상의 계층에 포함된 모든 특성은 기본적으로 숨겨집니다. 그러나 필드 목록의 상황에 맞는 메뉴에서 숨겨진
선택하여 필요한 경우 볼 수 있습니다. 필요한 경우 동일한 상황에 맞는 메뉴에서 표시할 수 있습니다. SAP HANA에서 다른 특성을 레이블로 사용하도록 특성을 정의할 수 있습니다. 예를 들어, 값
1
,2
,3
등이 있는 제품은 값을Bike
,Shirt
,Gloves
등으로 하여 제품명을 레이블로 사용할 수 있습니다. 이 경우, 단일 필드 제품이 필드 목록에 표시됩니다. 이 필드의 값은 레이블Bike
,Shirt
,Gloves
등으로 구성되지만, 키 값1
,2
,3
에 따라 정렬되고 고유성이 결정됩니다. Product.Key 열도 숨겨져 있으며, 필요한 경우 기본 키 값에 액세스할 수 있습니다.
기본 SAP HANA 뷰에 정의된 모든 변수는 연결 시 표시되며 필요한 값을 입력할 수 있습니다. 리본에서 변환 데이터를 선택한 다음, 표시된 드롭다운 메뉴에서 매개 변수 편집을 선택하여 나중에 이러한 값을 변경할 수 있습니다.
SAP HANA에서 올바른 집계 데이터를 항상 가져올 수 있도록 해야 하는 경우 DirectQuery를 사용할 때 허용되는 모델링 작업은 일반적인 경우보다 더 제한적입니다. 그러나 측정값 정의, 필드 이름 바꾸기 및 숨기기, 표시 형식 정의 등 몇 가지 추가 및 변경은 여전히 가능합니다. 이러한 모든 변경 내용은 새로 고칠 때 유지되며 SAP HANA 보기에 대한 충돌하지 않는 변경 내용이 적용됩니다.
추가 모델링 제한 사항
앞서 언급한 제한 사항 외에도 SAP HANA에 다차원 원본으로 연결할 때 다음과 같은 모델링 제한 사항에 유의하세요.
- 계산 열에 대한 지원 없음: 계산 열을 만들 수 없습니다. 또한 이 사실은 계산된 열을 사용하는 그룹화 및 클러스터링을 사용할 수 없음을 의미합니다.
- 측정값에 대한 추가 제한 사항: SAP HANA에서 제공하는 지원 수준을 반영하기 위해 측정값에 사용할 수 있는 DAX 식에 적용되는 다른 제한 사항이 있습니다. 예를 들어 테이블 위에 집계 함수를 사용할 수 없습니다.
- 관계 정의에 대한 지원 없음: 보고서 내에서 단일 보기만 쿼리할 수 있으므로 관계 정의에 대한 지원이 없습니다.
- 테이블 뷰 없음:테이블 뷰 일반적으로 테이블의 세부 수준 데이터를 표시합니다. 다차원 원본의 특성을 고려할 때 SAP HANA를 다차원 원본으로 사용할 때는 이 보기를 사용할 수 없습니다.
- 열 및 측정값 세부 정보는 고정됩니다. 필드 목록의 열과 측정값은 기본 원본에 의해 결정되며 수정할 수 없습니다. 예를 들어 열을 삭제하거나 해당 데이터 형식을 변경할 수 없습니다. 그러나 이름을 바꿀 수 있습니다.
추가 시각화 제한 사항
다차원 원본으로 SAP HANA에 연결할 때 시각적 개체에는 제한이 있습니다.
- 열 집계 없음: 시각적 자료의 열에 대한 집계를 변경할 수 없으며, 항상 요약하지.
SAP HANA를 관계형 원본으로 처리
SAP HANA를 관계형 원본으로 연결하려면
SAP HANA를 관계형 원본으로 사용하는 경우 몇 가지 추가 유연성을 사용할 수 있습니다. 예를 들어 계산 열을 만들고, 여러 SAP HANA 뷰의 데이터를 포함하고, 결과 테이블 간의 관계를 만들 수 있습니다. 그러나 SAP HANA 뷰에 단순 합계가 아닌 고유 개수 또는 평균과 같은 비가산적 측정값이 포함된 경우 특히 다차원 원본으로 SAP HANA에 연결할 때 동작과는 차이가 있습니다. 비가산적 측정값은 잘못된 결과를 생성할 수 있습니다. 또한 이 측정값은 SAP HANA에서 쿼리 계획 최적화의 효율성을 줄이고 쿼리 성능 및 시간 제한을 저하시킬 수 있습니다.
관계형 원본으로 SAP HANA 이해
관계형 원본, 예를 들어 SQL Server의 동작을 명확히 하며 시작하는 것이 유용합니다. 이는 데이터 가져오기 또는 Power Query Editor에서 정의된 쿼리가 집계를 수행할 때 특히 그렇습니다. 다음 예제에서 파워 쿼리 편집기에서 정의된 쿼리는 ProductID
제품 ID별로 평균 가격을 반환하는 파워 쿼리 편집기에서 정의된 쿼리를 보여 주는
DirectQuery를 사용하는 대신 Power BI로 데이터를 가져온 경우 다음과 같은 상황이 발생합니다.
- 데이터는 파워 쿼리 편집기에서 만든 쿼리에 의해 정의된 집계 수준에서 가져옵니다. 예를 들어 제품별 평균 가격입니다. 이 사실로 인해 시각 자료에서 사용할 수 있는 ProductID 및 AveragePrice의 두 열이 포함된 테이블이 생성됩니다.
- 시각적 콘텐츠에서 Sum, Average, Min등의 후속 집계 작업이 가져온 데이터에 대해 수행됩니다. 예를 들어 시각적 개체에 AveragePrice 포함하면 기본적으로 Sum 집계가 사용되며, 이 예제에서는 각 ProductID대한 AveragePrice 합계를 반환합니다( 이 예제에서는 13.67). 시각화에 사용되는 Min 또는 Average와 같은 대체 집계 함수에도 동일하게 적용됩니다. 예를 들어, Average의 결과는 AveragePrice의 평균값인 6.66, 4, 그리고 3의 평균을 계산하여 4.56을 반환합니다. 이는 기본 테이블의 6개 레코드에 대한 Price의 평균인 5.17과 다릅니다.
가져오기 대신 동일한 관계형 원본에 대해 DirectQuery를 사용하는 경우 동일한 의미 체계가 적용되고 결과는 정확히 동일합니다.
동일한 쿼리를 사용하면 데이터가 실제로 가져오지 않더라도 논리적으로 동일한 데이터가 보고 계층에 표시됩니다.
시각적 자료에서 Sum, Average및 Min같은 후속 집계는 쿼리에 사용된 그 논리 테이블에 대해 다시 수행됩니다. 또한 AveragePrice의 평균을 포함하는 시각적 개체는 동일한 4.56을 반환합니다.
연결이 관계형 원본으로 처리되는 경우 SAP HANA를 고려합니다. Power BI는 SAP HANA에서 분석 뷰 및 계산 뷰 둘 다 사용할 수 있으며, 둘 다 측정값을 포함할 수 있습니다. 그러나 오늘날 SAP HANA에 대한 접근 방식은 이 섹션의 앞부분에서 설명한 것과 동일한 원칙을 따릅니다. 데이터 가져오기 또는 파워 쿼리 편집기에서 정의된 쿼리는 사용 가능한 데이터를 결정하고, 그런 다음 시각적 요소에서 후속 집계는 해당 데이터를 기반으로 이루어지며, 이는 Import와 DirectQuery 모두에 동일하게 적용됩니다. 그러나 SAP HANA의 특성을 고려할 때, 초기 데이터 가져오기 대화 상자 또는 파워 쿼리 편집기에서 정의된 쿼리는 항상 집계 쿼리이며, 일반적으로는 SAP HANA 뷰에서 정의된 집계를 포함하는 측정값을 포함합니다.
이전 SQL Server 예제와 동일한 것은 ID, ProductID, DepotID및 AveragePrice포함한 측정값이 포함된 SAP HANA 뷰가 가격 평균정의되어 있다는 것입니다.
데이터 가져오기 환경에서 선택한 항목은 ProductID 및 AveragePrice 측정값에 대한 것이었습니다. 그러면 뷰에 대한 쿼리를 정의하고 해당 집계 데이터를 요청합니다. 이전 예제에서는 단순성을 위해 SAP HANA SQL의 정확한 구문과 일치하지 않는 간단한 의사-SQL이 사용되었습니다. 그런 다음 시각화에 정의된 추가 집계는 쿼리 결과를 더 집계합니다. SQL Server에 대해 앞에서 설명한 대로 이 결과는 Import 및 DirectQuery 사례에 모두 적용됩니다. DirectQuery의 경우 데이터 가져오기 또는 파워 쿼리 편집기에서 쿼리는 SAP HANA로 전송된 단일 쿼리 내의 하위 선택에서 사용되므로 더 집계하기 전에 모든 데이터를 읽는 경우는 아닙니다.
이러한 모든 고려 사항 및 동작은 관계형 원본으로 SAP HANA를 통해 DirectQuery를 사용할 때 다음과 같은 중요한 고려 사항이 필요합니다.
SAP HANA의 측정값이 비가산적일 때마다 시각적 개체에서 수행되는 추가 집계에 주의해야 합니다. 예를 들어 간단한
Sum ,최소 또는 최대. 데이터 가져오기 또는 파워 쿼리 편집기에서 필요한 데이터를 검색하는 데 필요한 열만 포함되어야 합니다. 결과는 SAP HANA로 보낼 수 있는 적절한 쿼리여야 하는 쿼리라는 사실을 반영합니다. 예를 들어 후속 시각적 개체에 필요할 수 있다는 생각으로 수십 개의 열을 선택한 경우 DirectQuery의 경우에도 간단한 시각적 개체는 하위 선택에서 사용되는 집계 쿼리에 일반적으로 성능이 좋지 않으며 시간 초과가 발생할 수 있는 수십 개의 열이 포함되어 있음을 의미합니다.
다음의 예를 보면,
이 동작으로 인해 데이터 가져오기 또는 파워 쿼리 편집기에서 선택한 항목을 필요한 항목으로 제한하는 동시에 SAP HANA에 대한 적절한 쿼리를 만드는 것이 좋습니다. 가능하면 의미 체계 모델에서 필요한 모든 측정값을 다시 만들고 기존 관계형 원본처럼 SAP HANA를 사용하는 것이 좋습니다.
모범 사례
두 방법 모두 SAP HANA에 연결하려면 DirectQuery 사용에 대한 일반적인 권장 사항, 특히 좋은 쿼리 성능 보장과 관련된 권장 사항을 따르세요. 자세한 내용은 DirectQuery를 사용하는 의 Power BI을 참조하세요.
고려 사항 및 제한 사항
다음 목록에서는 완전히 지원되지 않는 모든 SAP HANA 기능 또는 Power BI를 사용할 때 다르게 작동하는 기능에 대해 설명합니다.
- 부모 자식 계층: 부모 자식 계층은 Power BI에 표시되지 않습니다. Power BI가 SQL 인터페이스를 사용하여 SAP HANA에 액세스하고, 부모 자식 계층 구조는 SQL을 사용하여 완전히 액세스할 수 없기 때문입니다.
- 기타 계층 메타데이터: 계층 구조의 기본 구조는 Power BI에 표시되지만 비정형 계층의 동작 제어와 같은 일부 계층 메타데이터는 효과가 없습니다. 다시 말하지만 이는 SQL 인터페이스에 의해 적용되는 제한 사항 때문입니다.
- SSL을 사용한 연결: TLS를 사용하여 가져오기 및 다차원 방식으로 연결할 수 있지만, 관계형 연결 방법에 TLS를 사용하도록 구성된 SAP HANA 인스턴스에는 연결할 수 없습니다.
- 특성 보기 지원: Power BI는 분석 및 계산 보기에 연결할 수 있지만 특성 보기에 직접 연결할 수는 없습니다.
- 카탈로그 개체 지원: Power BI는 카탈로그 개체에 연결할 수 없습니다.
- 게시 후 변수로 변경 : 보고서가 게시된 후 Power BI 서비스에서 직접 SAP HANA 변수의 값을 변경할 수 없습니다.
알려진 문제
다음 목록에서는 Power BI를 사용하여 SAP HANA(DirectQuery)에 연결할 때 알려진 모든 문제를 설명합니다.
카운터 및 기타 측정값에 대한 쿼리 시 SAP HANA 문제 : 분석 뷰에 연결할 경우 SAP HANA에서 잘못된 데이터가 반환됩니다. 이는 카운터 측정값과 다른 비율 측정값이 동일한 시각적 요소에 포함될 때 발생합니다. 이 문제는 SAP Note 2128928(계산 열 및 카운터를 쿼리할 때 예기치 않은 결과)에 해당됩니다. 이 경우 비율 측정값이 잘못되었습니다.
단일 SAP HANA 열에서 여러 Power BI 열 : SAP HANA 열이 둘 이상의 계층 구조에서 사용되는 일부 계산 보기의 경우 SAP HANA는 열을 두 개의 개별 특성으로 노출합니다. 이 방법을 사용하면 Power BI에서 두 개의 열이 만들어집니다. 그러나 이러한 열은 기본적으로 숨겨져 있으며 계층 또는 열과 관련된 모든 쿼리가 올바르게 작동합니다.
관련 콘텐츠
DirectQuery에 대한 자세한 내용은 다음 리소스를 확인하세요.
- Power BI에서 DirectQuery
- DirectQuery가 지원하는 데이터 원본
- DirectQuery 및 SAP BW
- 온-프레미스 데이터 게이트웨이