Power_bi
Microsoft Power BI에서 의미 체계 모델은 보고서 및 대시보드 개발을 뒷받침합니다. 올바른 보고서와 대시보드를 생성하려면 보고서 및 대시보드 사용자가 물을 질문을 명확하게 이해해야 합니다. 다음 포커스는 보고서 및 대시보드의 시각화를 가장 잘 지원하는 의미 체계 모델 디자인에 있어야 합니다. 모델 디자인을 완료한 후에는 Power BI Desktop을 사용하여 모델을 개발할 수 있습니다.
모델을 개발하는 경우 다음 작업을 완료합니다.
- 데이터에 연결
- 데이터 변환 및 준비
- DAX(Data Analysis Expressions) 계산을 추가하여 비즈니스 논리 정의
- Power BI에 모델 게시
의미 체계 모델의 구조를 이해하면 보고서 및 대시보드를 지원하는 데 적합한 모델을 설계하는 데 도움이 될 수 있습니다. 의미 체계 모델은 여러 가지 방법으로 개발될 수 있지만 이러한 방법 중 하나 또는 여러 가지가 더 최적입니다. 최적 모델은 양호한 쿼리 성능을 제공하는 한편 데이터 새로 고침 시간과 메모리 및 CPU를 비롯한 서비스 리소스의 사용을 최소화하는 데 중요합니다. 사용하는 리소스가 적을수록 더 많은 모델을 더 저렴한 비용으로 호스트할 수 있습니다.
별모양 스키마 디자인
Power BI 의미 체계 모델이 단일 테이블로 구성되는 것은 드문 일입니다. 단일 테이블 모델은 데이터 탐색 작업 또는 개념 증명에 적합할 수는 있지만 최적의 모델 디자인은 아닌, 단순한 디자인일 수 있습니다. 최적 모델 디자인은 별모양 스키마 원칙을 준수합니다. 별모양 스키마는 사용자에게 친숙한 구조를 제공하고 고성능 분석 쿼리를 지원하기 때문에 관계형 데이터 웨어하우스 디자이너가 일반적으로 사용하는 디자인 방법을 말합니다.
이 디자인 원칙을 별모양 스키마라고 하는 이유는 모델 테이블이 팩트 또는 차원으로 분류되기 때문입니다. 다이어그램에서 팩트 테이블은 별모양의 중심을 형성하고, 팩트 테이블 주위에 배치된 차원 테이블은 별모양의 점을 나타냅니다.
팩트 테이블
팩트 테이블의 역할은 특정 비즈니스 활동을 기록하는 관찰 또는 이벤트를 나타내는 행을 누적하여 저장하는 것입니다. 예를 들어 판매 팩트 테이블에 저장된 이벤트는 판매 주문 및 주문 라인일 수 있습니다. 팩트 테이블을 사용하여 재고 변동, 재고 잔액 또는 일별 통화 환율을 기록할 수도 있습니다. 일반적으로 팩트 테이블에는 많은 행이 포함됩니다. 시간이 지남에 따라 팩트 테이블 행이 누적됩니다. 분석 쿼리(이 모듈의 뒷부분에서 정의됨)에서 팩트 테이블 데이터를 요약하여 판매 금액 및 수량과 같은 값을 생성합니다.
차원 테이블
차원 테이블은 일반적으로 사람, 장소, 제품 또는 개념을 나타내는 비즈니스 엔터티를 설명합니다. 각 날짜에 대해 하나의 행을 포함하는 날짜 차원 테이블은 개념 차원 테이블의 일반적인 예입니다. 차원 테이블의 열을 통해 팩트 테이블 데이터를 필터링하고 그룹화할 수 있습니다.
각 차원 테이블에는 키 열이라고 하는 고유한 열이 있어야 합니다. 고유한 열은 중복 값을 포함하지 않으며 누락된 값이 없어야 합니다. 제품 차원 테이블에서 열 이름이 ProductKey 또는 ProductID로 지정될 수 있습니다. 마찬가지로 다른 열에 제품 이름, 하위 범주, 범주, 컬러 등의 설명 값을 저장할 수 있습니다. 분석 쿼리에서 이러한 열은 데이터를 필터링하고 그룹화하는 데 사용됩니다.
팩트 테이블과 차원 테이블 비교
다음 그림에서는 팩트 및 차원 테이블의 특징을 비교합니다.
테이블 확장
| 특성 | 차원 테이블 | 팩트 테이블 |
|---|---|---|
| 모델 용도 | 비즈니스 엔터티를 저장합니다. | 이벤트 또는 관찰을 저장합니다. |
| 테이블 구조 | 필터링 및 그룹화를 위한 키 열과 설명 열을 포함합니다. | 차원 키 열과 요약할 수 있는 숫자 측정값 열을 포함합니다. |
| 데이터 볼륨 | 일반적으로 (팩트 테이블에 비해) 더 적은 행이 포함됩니다. | 많은 행이 포함될 수 있습니다. |
| 쿼리 용도 | 필터링 및 그룹화 | 요약 |
별모양 스키마 테이블 관계
모델에서 차원 테이블은 일대다 관계를 사용하여 팩트 테이블과 관련됩니다. 관계를 사용하여 팩트 테이블로 전파할 차원 테이블 열에 필터 및 그룹을 적용할 수 있습니다. 이 디자인 패턴이 일반적입니다.
차원 테이블은 여러 팩트 테이블을 필터링하는 데 사용할 수 있으며, 팩트 테이블은 여러 차원 테이블을 기준으로 필터링 할 수 있습니다. 그러나 팩트 테이블을 다른 팩트 테이블에 직접 연결하는 것은 좋은 방법이 아닙니다.
이 개념을 연습하려면 Adventure Works DW 2020 M01.pbix 파일을 다운로드하여 연 다음 모델 다이어그램으로 전환합니다.
모델은 7개의 테이블로 구성되고, 이 중 하나의 이름은 Sales이며, 팩트 테이블입니다. 나머지 테이블은 차원 테이블이며 이름은 다음과 같습니다.
- Customer
- Date
- Product
- Reseller
- Sales Order
- Sales Territory
차원 테이블과 팩트 테이블 간에 관계가 존재하고 각 관계 필터 방향이 팩트 테이블을 가리키고 있습니다. 따라서 (열 값을 기준으로 필터링 또는 그룹화하기 위해) 차원 테이블 열에 필터를 적용하면 관련된 팩트가 필터링 및 요약됩니다.
패턴을 검토하면 별모양이 나타날 것입니다.
별모양 스키마 디자인에 대한 자세한 내용은 별모양 스키마 및 Power BI에서의 중요성 이해를 참조하세요.
분석 쿼리
_분석 쿼리_는 의미 체계 모델에서 결과를 생성하는 쿼리입니다. 백그라운드에서 각 Power BI 시각적 개체는 Power BI에 분석 쿼리를 제출하여 모델을 쿼리합니다. 분석 쿼리는 DAX(Data Analysis Expressions) 쿼리 문으로 작성됩니다. 그러나 네이티브 DAX 문을 작성할 필요는 없습니다. 의미 체계 모델 필드를 매핑하여 보고서 시각적 개체를 구성하기만 하면 됩니다.
분석 쿼리에는 다음 순서로 구현되는 세 가지 단계가 있습니다.
- 필터링
- 그룹화
- 요약
필터링(또는 조각화)은 관련성 데이터를 대상으로 합니다. Power BI 보고서에서 세 가지 범위인 전체 보고서, 특정 페이지 또는 특정 시각적 개체에 필터를 적용할 수 있습니다. RLS(행 수준 보안)가 적용되는 경우에도 필터링이 백그라운드에서 적용됩니다. 각 보고서 시각적 개체는 필터를 상속하거나 필터를 직접 적용할 수 있습니다.
그룹화(또는 분할)는 쿼리 결과를 그룹으로 나눕니다.
요약은 단일 값 결과를 생성합니다. 일반적으로 숫자 열은 요약 방법(합계, 개수 등)을 사용하여 요약됩니다. 이러한 방법은 단순한 요약입니다. 총계의 백분율과 같은 보다 복잡한 요약은 DAX에서 작성된 측정값을 정의하여 수행할 수 있습니다.
모든 분석 쿼리에서 필터링, 그룹화 및 요약을 수행해야 하는 것은 아닙니다.
- 일반적으로 보고서 시각적 개체는 특정 기간 또는 지리적 위치에 따라 필터링됩니다.
- 그룹화는 선택 사항입니다. 예를 들어 단일 값을 표시하는 데 사용되는 카드 시각적 개체는 그룹화와 관련이 없습니다.
- 일반적으로 보고서 시각적 개체는 요약됩니다. 그러나 한 가지 중요한 예외는 요약과 관련이 없는 슬라이서 시각적 개체입니다.
다이렉트쿼리 = 실시간으로 가져오기 때문에 백만행 까지만 가져올 수 있다. 데이터 변환에서 가져오기 = 방법으로 만 데이터 뷰를 사용 가능 캐시형식은 새로고침을 눌러줘야 적용이 됨. 보고서 방식에 대한 데이터가 점점 커짐 최대 1기가 까지
다이렉트쿼리 -> 가져오기 변황 가능 기져오기 -> 다이렉트쿼리 변환 불가능



댓글남기기