Khi xây dựng báo cáo bằng Power BI, chúng ta có thể truy cập, chuyển đổi và biến dữ liệu thành thông tin bằng hình ảnh. Không thể phủ nhận tầm quan trọng của Power BI nhưng giờ đây, Power BI không phải là công cụ duy nhất làm được điều đó. Người dùng có thể dùng đến Power Query hoặc SQL Server cho các báo cáo trong kinh doanh của mình sao cho phù hợp với các mục đích của họ. Câu hỏi được đặt ra là, nên sử dụng Power Query hay SQL Server? Khi nào và tại sao?
Trong bài viết này, UniTrain muốn so sánh bốn tình huống sử dụng Power Query và SQL Server. Với mỗi điều kiện khác nhau, hãy xem chúng ta nên sử dụng công cụ của Microsoft tương ứng nào.
Tình huống 1: Truy cập dữ liệu thô trực tiếp chỉ bằng Power Query
Ban đầu, truy cập dữ liệu, sau khi ở trong trình chỉnh sửa, thực hiện các thao tác thêm, xóa các cột, tách hoặc nối các trường, thay thế các giá trị and/or, thêm các giá trị mới, v.v. cho đến khi có một tập dữ liệu có hình dạng như mong muốn.
Ưu điểm
– Truy cập nhanh vào nhiều loại nguồn: Power Query truy cập trực tiếp vào rất nhiều loại nguồn khác nhau mà không cần bất kỳ quy trình tích hợp bổ sung nào
– Dễ thực hiện: Bất kỳ ai cũng có thể thực hiện được các chuyển đổi cho dù có ít kiến thức về cơ sở dữ liệu.
– Không cần các công cụ khác: Power Query có khả năng hoàn thành toàn bộ quy trình
Nhược điểm
– Nhiều bước: Trong nhiều trường hợp chúng ta cần thêm nhiều bước để hoàn thành quy trình
– Tốn nhiều thời gian làm mới: Khi báo cáo làm mới, tất cả dữ liệu lịch sử sẽ được chuyển đổi. Điều này có thể làm tốn nhiều thời gian nếu có nhiều dữ liệu
– Một số báo cáo bảo trì: Nếu không thể chia sẻ mô hình dữ liệu giữa một số báo cáo, cần duy trì từng tệp
– Lỗi do thay đổi cấu trúc nguồn: Mọi thay đổi về cấu trúc nguồn có thể gây sai sót trong quá trình chuyển đổi
Tình huống 2: Truy cập dữ liệu thô trong cơ sở dữ liệu thông qua truy vấn
Ở đây chúng ta sẽ sử dụng thế mạnh của SQL Server, để thực hiện công việc, cần phải tích hợp dữ liệu vào cơ sở dữ liệu.
Ý tưởng của tình huống này là phát triển một truy vấn duy nhất cho từng tập dữ liệu. Truy vấn này sẽ truy cập dữ liệu thô và chuyển đổi nó thành tập hợp kết quả mong muốn. Trong nhiều trường hợp, chỉ cần một truy vấn đơn giản, trong một số trường hợp khác, sẽ cần tạo một vài truy vấn phụ.
Khi báo cáo khá lớn, người dùng phải cải thiện thời gian làm mới và thậm chí cả kích thước báo cáo nhờ công cụ cơ sở dữ liệu.
Ưu điểm
– Ít bước: Có thể thực hiện hầu hết tất cả các phép biến đổi trong một truy vấn
– Hiệu suất tốt hơn: Giảm thời gian làm mới và tác động của máy chủ
– Những thay đổi về cấu trúc nguồn sẽ không ảnh hưởng đến quá trình: Quá trình tích hợp sẽ xử lý các thay đổi trên cấu trúc của nguồn
Nhược điểm
– Kiến thức cơ sở dữ liệu cần thiết: Truy vấn cơ sở dữ liệu không trực quan và giao diện cũng không quá thân thiện
– Thời gian làm mới trung bình
– Một số báo cáo bảo trì: Duy trì từng báo cáo riêng lẻ nếu không thể chia sẻ mô hình dữ liệu
Tình huống 3: Các thủ tục (procedures) hoặc dạng xem (views) được lưu trữ quản lý các phép chuyển đổi
Tình huống này giống như tình huống 2, nhưng đặt truy vấn bên trong một thủ tục được lưu trữ hoặc một dạng xem. Mục tiêu chính ở đây là sử dụng các SP hoặc chế độ xem trong số tất cả các báo cáo ngay cả khi không thể chia sẻ mô hình dữ liệu. Việc bảo trì hiện được tập trung trong lớp dữ liệu, trong khi ứng dụng chỉ nhận được dữ liệu đã chuyển đổi.
Ưu điểm
– Tương tự với tình huống trước: Quá trình này khá giống nhau, do đó, lợi thế tương tự như tình huống 2
– Tập dữ liệu được chia sẻ và chuyển đổi: Có thể chia sẻ SP hoặc chế độ xem và chỉ duy trì một quy trình ngay cả khi không thể chia sẻ mô hình dữ liệu
Nhược điểm
– Kiến thức cơ sở dữ liệu cần thiết: Cần một số kiến thức về cơ sở dữ liệu
– Thời gian làm mới trung bình: Không thấy nhiều cải thiện về thời gian làm mới so với tình huống trước đó
– Cần thêm quyền DB: Cần có quyền CREATE và EXECUTE
Tình huống cuối: Truy cập các bảng sản xuất với dữ liệu đã được chuyển đổi
Sử dụng một quy trình ETL nhỏ để cung cấp mô hình dữ liệu. Thực hiện tách các bảng sản xuất khỏi dữ liệu thô ở các vị trí, máy chủ, phiên bản hoặc cơ sở dữ liệu khác nhau. Sau đó cập nhật bảng sản xuất này với cùng tần suất làm mới các báo cáo.
Ưu điểm
– Tập dữ liệu được chia sẻ: Có thể chia sẻ bảng sản xuất giữa các báo cáo
– Ít hàng để xử lý mỗi lần: Chỉ cần xử lý quy trình vài ngày một lần
– Thời gian làm mới ít hơn: Thời gian làm mới được cải thiện vì chỉ thực hiện một lựa chọn đơn giản không có chuyển đổi
– Cô lập dữ liệu: Tất cả các dữ liệu sản xuất được cô lập. Không chỉ quy trình từ công cụ trực quan mà còn từ chính dữ liệu thô
Nhược điểm
– Kiến thức DB cần thiết: Vì có nhiều nhiệm vụ phải hoàn thành
– Cần thêm quyền DB
– Cần một cơ sở hạ tầng mạnh mẽ hơn: Tài nguyên cơ sở hạ tầng phải mạnh mẽ, cần sử dụng các công cụ phổ biến ETL khác như SSIS trong một số trường hợp
Power Query hay SQL Server?
Quyết định sử dụng Power Query hay SQL Server sẽ phụ thuộc vào môi trường thực tế của người dùng. Phải đánh giá năng lực con người, tính khả dụng của cơ sở dữ liệu và sự cho phép đối với cơ sở dữ liệu và cơ sở hạ tầng.
Để quyết định nên sử dụng Power Query hay SQL Server, người dùng cần phải hiểu rõ các thao tác và quy trình mình sẽ thực hiện trên các công cụ, xem xét các khả năng của từng công cụ và đưa ra sự lựa chọn thích hợp. Để nắm rõ hơn về Power Query hay SQL Server, các bạn có thể tham khảo các khóa học của UniTrain, Khóa học Ứng dụng SQL trong xử lý dữ liệu: để hiểu hơn về SQL server, học cách truy vấn dữ liệu từ một hay nhiều bảng và các thao tác với bảng dữ liệu, Khóa học Tổ chức và quản lý dữ liệu báo cáo trong Excel: để biết được quy tắc tổ chức dữ liệu trong Excel, các chức năng thông dụng của Power Query, Pivot Table và Power Pivot
Xem thêm