Hướng dẫn load dữ liệu từ SQL vào Power Bi (chi tiết)
Xem thêm: Khóa học Power BI phân tích và trực quan hóa dữ liệu
Bước 1: Tải SQL Server Phiên Bản Miễn Phí Developer
Sử dụng đường link sau và ấn vào đường link tải phiên bản miễn phí cho Developer
Sau đó qua các bước cài đặt để cài đặt SQL Server, một cách đơn giản nhất, chúng ta có thể chọn cách cài đặt Basic.
Bước 2: Tải Tập Tin Sao Lưu Của Cơ Sở Dữ Liệu AdventureWorks
Đối với cơ sở dữ liệu mẫu AdventureWorks của Microsoft, chúng ta có thể có 3 cơ sở dữ liệu mẫu để sử dụng:
- Dữ liệu OLTP dành cho hầu hết các khối lượng công việc xử lý giao dịch trực tuyến điển hình.
- Dữ liệu Data Warehouse (DW) dành cho khối lượng công việc lưu trữ kho dữ liệu.
- Dữ liệu nhẹ (LT) là một phiên bản nhẹ và giảm của mẫu OLTP.
Đối với 3 mẫu dữ liệu trên, bạn có thể chọn để tải tập tin sao lưu (backup file) để có thể tái tạo lại những cơ sở dữ liệu này trong SQL Server. Bạn có thể tải chúng với phiên bản cập nhập mới nhất 2019 ở đường link sau:
Bước 3: Cài Đặt Lại Cơ Sở Dữ Liệu AdventureWorks Trên SQL Server
Sau khi có tệp tin sao lưu .bak, bạn có thể khôi phục cơ sở dữ liệu mẫu vào phiên bản SQL Server của bạn. Bạn có thể làm như vậy bằng cách sử dụng lệnh RESTORE (Transact-SQL) hoặc sử dụng giao diện đồ họa (GUI) trong SQL Server Management Studio hoặc Azure Data Studio. Để đơn giản, mình sẽ chỉ hướng dẫn cách sử dụng giao diện trong SQL Server Management Studio để cài đặt như sau:
- Tải và cài đặt SQL Server Management Studio mới nhất qua link sau.
- Di chuyển tệp .bak đến vị trí sao lưu SQL Server của bạn. Điều này thay đổi tùy thuộc vào vị trí cài đặt, tên phiên bản và phiên bản SQL Server của bạn. Ví dụ: vị trí mặc định cho phiên bản mặc định của SQL Server 2019 là:
C: \ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQL \ Backup.
- Mở SQL Server Management Studio (SSMS) và kết nối với SQL Server của bạn trong.
- Trong Object Explorer, bấm chuột phải vào Database > Restore Database … để khởi chạy trình hướng dẫn Khôi phục Cơ sở dữ liệu.
- Chọn Device rồi chọn dấu ba chấm (…) để chọn một thiết bị.
- Chọn Add và sau đó chọn tệp .bak gần đây bạn đã chuyển đến vị trí này. Nếu bạn đã di chuyển tệp của mình đến vị trí này nhưng bạn không thể nhìn thấy nó trong trình hướng dẫn, điều này thường chỉ ra sự cố về quyền – SQL Server hoặc người dùng đã đăng nhập vào SQL Server không có quyền đối với tệp này trong thư mục này.
- Chọn OK để xác nhận lựa chọn sao lưu cơ sở dữ liệu của bạn và đóng cửa sổ Chọn thiết bị sao lưu.
- Kiểm tra tab File để xác nhận mục Restore As về vị trí và tên tệp khớp với vị trí dự kiến của bạn và tên tệp trong trình hướng dẫn Khôi phục Cơ sở dữ liệu.
- Chọn OK để khôi phục cơ sở dữ liệu của bạn.
Link hướng dẫn đầy đủ bằng tiếng Anh (load dữ liệu từ SQL vào Power BI)
Bước 4: Load dữ liệu từ SQL vào Power BI
Để kết nối Power BI với SQL Server, chúng ta sẽ thực hiện các bước sau:
- Trên thanh công cụ, chọn Get Data -> SQL Server hoặc chọn ngay SQL Server
- Một cửa sổ hiện ra yêu cầu bạn bổ sung thông tin của cơ sở dữ liệu mà bạn vừa tạo (bảng load dữ liệu từ SQL vào Power BI)
- Thông tin duy nhất cần để thực hiện tiếp chính là tên Server, ngoài ra, chúng ta có thể bổ sung thêm các thông tin khác bao gồm tên Database (nếu có nhiều Database và trích xuất chỉ từ 1 cái duy nhất)
- Data Connectivity mode: cách thức load dữ liệu từ SQL vào Power BI có 2 dạng:
- Import: Load dữ liệu từ SQL vào Power BI và lưu dữ liệu ở file PBIX. Cách này sẽ khiến lượng dữ liệu ở Power BI trở nên nặng vì dữ liệu được truyền tải về Power BI và lưu trữ xử lý ở đây. Điều này cũng có nghĩa là khi chúng ta cần cập nhập dữ liệu chúng ta phải Refesh câu lệnh Query và cập nhập dữ liệu đã tải về Power BI.
- Direct Query: Load dữ liệu từ SQL vào Power BI nhưng không lưu ở file PBIX. Điều này nghĩa là thay vì chúng ta tải dữ liệu về Power BI, chúng ta sẽ nhìn vào cơ sở dữ liệu và Power BI giống như một ống kính nhìn lên cơ sở dữ liệu vậy. Điều này cũng sẽ có ích khi cơ sở dữ liệu chúng ta cần đưa vào phân tích là lớn hoặc đã đầy đủ các tính năng và hàm tính. Đồng thời, dữ liệu khi nhìn bằng Direct Query luôn là dữ liệu cập nhập nhất tại cơ sở dữ liệu. Khi sử dụng Direct Query, chúng ta không phải lo về dung lương dữ liệu nhưng sẽ có các hạn chế. Hiện tại có một số hạn chế khi sử dụng DirectQuery:
- Nếu truy vấn Trình soạn thảo truy vấn quá phức tạp khi load dữ liệu từ SQL vào Power BI, sẽ xảy ra lỗi. Để khắc phục lỗi, hãy xóa bước có vấn đề trong Trình soạn thảo truy vấn hoặc nhập dữ liệu thay vì sử dụng DirectQuery. Đối với các nguồn đa chiều như SAP Business Warehouse, chúng ta không thể dung Query Editor.
- Các phép tính thời gian thông minh Time Intelligence không khả dụng trong DirectQuery. Ví dụ: xử lý đặc biệt các cột ngày (chẳng hạn như năm, quý, tháng hoặc ngày) không được hỗ trợ trong chế độ DirectQuery.
- Một số các giới hạn được đặt trên các hàm tính DAX khi load dữ liệu từ SQL vào Power BI như một biện pháp để đảm bảo rằng các truy vấn được gửi đến nguồn dữ liệu cơ bản có thể đạt hiệu suất chấp nhận được.
- Có giới hạn một triệu hàng đối với các nguồn dữ liệu trên điện toán đám mây, với các nguồn lưu tại chỗ được giới hạn ở trọng tải xác định khoảng 4 MB mỗi hàng (tùy thuộc vào thuật toán nén độc quyền) hoặc kích thước dữ liệu 16 MB cho toàn bộ biểu đồ. Các giới hạn nhất định có thể được nâng lên khi sử dụng dung lượng Đặc biệt. Giới hạn không ảnh hưởng đến tổng hợp hoặc tính toán được sử dụng để tạo tập dữ liệu được trả về bằng DirectQuery. Nó chỉ ảnh hưởng đến các hàng được trả về.
- Ví dụ: bạn có thể tổng hợp 10 triệu hàng với truy vấn chạy trên nguồn dữ liệu của mình. Kết quả của tập hợp đó được trả về chính xác cho Power BI bằng DirectQuery nếu dữ liệu Power BI trả về ít hơn 1 triệu hàng. Nếu hơn 1 triệu hàng được trả về từ DirectQuery, Power BI trả về lỗi (trừ khi ở dung lượng Đặc biệt và số hàng dưới giới hạn do quản trị viên đặt).
- Command Timeout (in minute): yêu cầu thiết lập khoảng thời gian dừng nếu câu lệnh chạy quá lâu
- SQL Statement: Sử dụng câu lệnh SQL để trích xuất dữ liệu cần thiết khi đã có các Query sẵn (load dữ liệu từ SQL vào Power BI)
- Include Relationship Column: Bao gồm các trường của các bảng có liên kết với bảng được trả về
- Navigate using full hierarchy: Đây là tính năng trong việc truy tìm bảng, khi sử dụng tính năng này, thay vì thấy ngay danh sách các bảng và view trong cơ sở dữ liệu, chúng ta sẽ thấy những tệp lưu trữ bảng này và từ đó tìm kiếm các bảng từ cấp độ tệp xuống
Enable SQL Failover Support: khi bật tính năng này, cũng tương tự khi bổ sung câu lệnh “MultiSubnetFailoverSupport = True; ApplicationIntent = ReadOnly” vào trong kết nối với cơ sở dữ liệu. Điều này có nghĩa là nếu các nút điểm của nhóm cấu trúc trong SQL (SQL Server Availability Group) bị lỗi và không thể chạy tiếp, câu lệnh trích xuất sẽ đi tiếp dựa trên nút điểm chính để chạy.
Như vậy, học viện GNV đã giới thiệu đến các bạn các Load dữ liệu từ SQL vào Power BI. Ngoài ra, các bạn có thể trải nghiệm thêm Power BI tại link này nhé.