Microsoft Fabric에서 데이터 웨어하우스 쿼리
Microsoft Fabric에서 데이터 웨어하우스는 대규모 분석을 위한 관계형 데이터베이스를 제공합니다. Microsoft Fabric 작업 영역에 기본 제공된 풍부한 환경 집합을 통해 고객은 쉽게 사용할 수 있고 DirectLake 모드에서 Power BI와 통합된 항상 연결된 의미 체계 모델을 통해 인사이트를 얻는 시간을 단축할 수 있습니다.
이 랩을 완료하는 데 약 30분이 걸립니다.
참고: 이 연습을 완료하려면 Microsoft Fabric 평가판이 필요합니다.
작업 영역 만들기
패브릭에서 데이터를 사용하기 전에 패브릭 평가판을 사용하도록 설정된 작업 영역을 만듭니다.
- Microsoft Fabric 홈페이지(
https://app.fabric.microsoft.com/home?experience=fabric
)에서 Synapse 데이터 웨어하우스를 선택합니다. - 왼쪽 메뉴 모음에서 작업 영역을 선택합니다(아이콘은 와 유사함).
- Fabric 용량이 포함된 라이선스 모드(평가판, 프리미엄 또는 Fabric)를 선택하여 원하는 이름으로 새 작업 영역을 만듭니다.
-
새 작업 영역이 열리면 비어 있어야 합니다.
샘플 데이터 웨어하우스 만들기
작업 영역이 있으므로 이제 데이터 웨어하우스를 만들어야 합니다.
- 왼쪽 아래에서 데이터 웨어하우스 환경이 선택되어 있는지 확인합니다.
-
홈 페이지에서 샘플 웨어하우스를 선택하고 sample-dw라는 새 데이터 웨어하우스를 만듭니다.
1분 정도 지나면 택시 승차 분석 시나리오에 대한 샘플 데이터로 새 웨어하우스가 만들어지고 채워집니다.
데이터 웨어하우스 쿼리
SQL 쿼리 편집기는 IntelliSense, 코드 완료, 구문 강조 표시, 클라이언트 쪽 구문 분석 및 유효성 검사를 지원합니다. DDL(데이터 정의 언어), DML(데이터 조작 언어) 및 DCL(데이터 컨트롤 언어) 문을 실행할 수 있습니다.
-
sample-dw 데이터 웨어하우스 페이지의 새 SQL 쿼리 드롭다운 목록에서 새 SQL 쿼리를 선택합니다.
-
새로운 빈 쿼리 창에 다음 Transact-SQL 코드를 입력합니다.
SELECT D.MonthName, COUNT(*) AS TotalTrips, SUM(T.TotalAmount) AS TotalRevenue FROM dbo.Trip AS T JOIN dbo.[Date] AS D ON T.[DateID]=D.[DateID] GROUP BY D.MonthName;
-
▷ 실행 단추를 눌러 SQL 스크립트를 실행하고 결과를 확인합니다. 이 결과에는 총 이동 횟수와 월별 총 수익이 표시됩니다.
-
다음 Transact-SQL 코드를 입력합니다.
SELECT D.DayName, AVG(T.TripDurationSeconds) AS AvgDuration, AVG(T.TripDistanceMiles) AS AvgDistance FROM dbo.Trip AS T JOIN dbo.[Date] AS D ON T.[DateID]=D.[DateID] GROUP BY D.DayName;
-
수정된 쿼리를 실행하고 결과를 확인합니다. 이 결과에는 요일별 평균 이동 시간과 거리가 표시됩니다.
-
다음 Transact-SQL 코드를 입력합니다.
SELECT TOP 10 G.City, COUNT(*) AS TotalTrips FROM dbo.Trip AS T JOIN dbo.Geography AS G ON T.PickupGeographyID=G.GeographyID GROUP BY G.City ORDER BY TotalTrips DESC; SELECT TOP 10 G.City, COUNT(*) AS TotalTrips FROM dbo.Trip AS T JOIN dbo.Geography AS G ON T.DropoffGeographyID=G.GeographyID GROUP BY G.City ORDER BY TotalTrips DESC;
-
수정된 쿼리를 실행하고 가장 자주 사용되는 상위 10개의 픽업 및 하차 위치를 보여 주는 결과를 확인합니다.
-
모든 쿼리 탭을 닫습니다.
데이터 일관성 확인
분석 및 의사 결정을 위해 데이터가 정확하고 신뢰할 수 있는지 확인하려면 데이터 일관성을 확인해야 합니다. 일관성 없는 데이터는 부정확한 분석과 잘못된 결과로 이어질 수 있습니다.
일관성을 확인하기 위해 데이터 웨어하우스를 쿼리하겠습니다.
-
새 SQL 쿼리 드롭다운 목록에서 새 SQL 쿼리를 선택합니다.
-
새로운 빈 쿼리 창에 다음 Transact-SQL 코드를 입력합니다.
-- Check for trips with unusually long duration SELECT COUNT(*) FROM dbo.Trip WHERE TripDurationSeconds > 86400; -- 24 hours
-
수정된 쿼리를 실행하고 결과를 확인합니다. 이 결과는 기간이 비정상적으로 긴 모든 여행의 세부 정보를 보여 줍니다.
-
새 SQL 쿼리 드롭다운 목록에서 새 SQL 쿼리를 선택하여 두 번째 쿼리 탭을 추가합니다. 그런 다음 새 빈 쿼리 탭에서 다음 코드를 실행합니다.
-- Check for trips with negative trip duration SELECT COUNT(*) FROM dbo.Trip WHERE TripDurationSeconds < 0;
-
새로운 빈 쿼리 창에 다음 Transact-SQL 코드를 입력하고 실행합니다.
-- Remove trips with negative trip duration DELETE FROM dbo.Trip WHERE TripDurationSeconds < 0;
참고: 일관되지 않은 데이터를 처리하는 방법에는 여러 가지가 있습니다. 이를 제거하는 대신 평균이나 중앙값과 같은 다른 값으로 바꾸는 것이 한 가지 대안입니다.
-
모든 쿼리 탭을 닫습니다.
보기로 저장
보고서를 생성하기 위해 데이터를 사용할 사용자 그룹에 대해 특정 여행을 필터링해야 한다고 가정해 보겠습니다.
이전에 사용한 쿼리를 기반으로 뷰를 만들고 여기에 필터를 추가하겠습니다.
-
새 SQL 쿼리 드롭다운 목록에서 새 SQL 쿼리를 선택합니다.
-
새로운 빈 쿼리 창에 다음 Transact-SQL 코드를 다시 입력하고 실행합니다.
SELECT D.DayName, AVG(T.TripDurationSeconds) AS AvgDuration, AVG(T.TripDistanceMiles) AS AvgDistance FROM dbo.Trip AS T JOIN dbo.[Date] AS D ON T.[DateID]=D.[DateID] GROUP BY D.DayName;
-
쿼리를 수정하여
WHERE D.Month = 1
을 추가합니다. 그러면 1월의 기록만 포함하도록 데이터가 필터링됩니다. 최종 쿼리는 다음과 같아야 합니다.SELECT D.DayName, AVG(T.TripDurationSeconds) AS AvgDuration, AVG(T.TripDistanceMiles) AS AvgDistance FROM dbo.Trip AS T JOIN dbo.[Date] AS D ON T.[DateID]=D.[DateID] WHERE D.Month = 1 GROUP BY D.DayName
-
쿼리에서 SELECT 문의 텍스트를 선택합니다. 그런 다음 ▷ 실행 단추를 클릭하고 보기로 저장을 선택합니다.
-
vw_JanTrip이라는 새 보기를 만듭니다.
-
탐색기에서 스키마 » dbo » 보기로 이동합니다. 방금 만든 vw_JanTrip 보기를 확인합니다.
-
모든 쿼리 탭을 닫습니다.
추가 정보: 데이터 웨어하우스 쿼리에 대한 자세한 내용은 Microsoft Fabric 설명서에서 SQL 쿼리 편집기를 사용하여 쿼리를 참조하세요.
리소스 정리
이 연습에서는 쿼리를 사용하여 Microsoft Fabric 데이터 웨어하우스의 데이터에 대한 인사이트를 얻었습니다.
데이터 웨어하우스 탐색을 마쳤으면 이 연습을 위해 만든 작업 영역을 삭제할 수 있습니다.
- 왼쪽 막대에서 작업 영역의 아이콘을 선택하여 포함된 모든 항목을 봅니다.
- 도구 모음의 … 메뉴에서 작업 영역 설정을 선택합니다.
- 일반 섹션에서 이 작업 영역 제거를 선택합니다.