BI-Sample

Business Intelligence (BI) trên nền tảng GCP (Phần 6): Xây dựng report cơ bản với BigQuery & Data Studio

Chào các bạn, đã khá lâu rồi mình mới gặp lại các bạn trong seri này. Ở các phần trước các bạn đã biết được một mô hình BI cơ bản cần hai thành phần chính là data warehouse và BI report tool, tương ứng trên Google Cloud là BigQuery và Data Studio. Ở phần này, chúng ta sẽ triển khai một hệ thống mẫu cơ bản để hiểu rõ hơn về cách kết hợp các sản phẩm này với nhau.

Đặt vấn đề:
Mô hình cơ bản cần đạt được như sau:

Mô hình BI cơ bản với BigQuery & Data Studio

Chúng ta có data được lưu ở các table nằm trong dataset trên BigQuery tên là `dataset_xyz`. File report trên Data Studio có connector đến các table này. Hệ thống report có 2 người sử dụng chính là Report Viewer – chỉ có quyền xem report, và Report Editor – có quyền chỉnh sửa report. Ngoài ra còn có Data Warehouse Administrator, quản lý BigQuery, mà tạm thời chúng ta không nhắc đến trong mô hình cơ bản này.
Mục đích của chúng ta sẽ là:
1. Làm sao lưu được dữ liệu trên BigQuery?
2. Biến đổi dữ liệu cơ bản trên BigQuery như thế nào?
3. Cách tạo report trên Data Studio với connector đến BigQuery?
4. Cách phân quyền viewer, editor trên report?

Mình sẽ lần lượt đi từng bước để giải quyết những yêu cầu trên. Tại mỗi bước, mình sẽ chỉ ra một số lưu ý trong quá trình triển khai chứ không đi quá sâu vào chi tiết. Do đó các bạn có thể tự làm theo các bước này để có demo của riêng mình, tuy nhiên có thể các bạn sẽ phải tự tìm kiếm và đọc thêm một số document trên GCP hoặc có thể comment ng

Okey, hãy bắt đầu với dữ liệu!
Bài viết này mình sử dụng tập dataset public của ngân hàng Czech được export năm 1999, các bạn có thể xem thông tin chi tiết và download tại đây. Sau khi download về, giải nén, các bạn sẽ có được danh sách file CSV tương ứng với các table sẽ tạo.

Danh sách file csv

Để đơn giản, trong bài viết này mình chỉ sử dụng dữ liệu giao dịch từ năm 1993 tới 1998 với 4 regions: “Prague”, “central Bohemia”, “west Bohemia”, “south Bohemia”.

Làm sao lưu được dữ liệu trên BigQuery?

Trên BigQuery mình có project `seminar_demo`, mình tạo dataset tên là czech_bank_1999`.

Tạo dataset

Sau đó tạo table bằng cách upload file CSV đã download:

Tạo table
Thiết lập một số cấu hình rồi chọn đường dẫn đến file CSV cần upload
Kết quả đạt được

Biến đổi dữ liệu cơ bản trên BigQuery như thế nào?

Có thể thấy là các table đang rất rời rạc, mình cần một table tổng hợp thông tin transaction + account + district để đưa vào report. Cách đơn giản nhất là viết một câu query tạo table lớn (FACT_FULL_TRANS) từ các table con (TRANS, ACCOUNT, DISTRICT) bằng cách join table như sau:

Tạo table bằng query

Bạn có thể tạo table trước bằng tay sau đó insert dữ liệu vào table đó bằng cách select. Trong thực tế phần lớn trường hợp mình sẽ phải làm như vậy trong một pipeline phức tạp hơn, tuy nhiên trong mô hình cơ bản này mình đã chỉ cho các bạn một cách đơn giản hơn rất nhiều. Table được tạo sẽ tự động có các field với kiểu dữ liệu hợp lệ tương ứng!

Và thêm một yêu cầu nhỏ nữa! Các bạn hãy thử thêm điều kiện vào câu query phía trên để lấy đúng dữ liệu giao dịch từ năm 1993 tới 1998 với 4 regions “Prague”, “central Bohemia”, “west Bohemia” và “south Bohemia”.

Kết quả cần đạt được là một table lớn có chứa đủ thông tin để phân tích

Cách tạo report trên Data Studio với connector đến BigQuery?

Sau khi đã có dữ liệu trên BigQuery, chúng ta sẽ tạo report tương ứng trên Data Studio. Đầu tiên là tạo data source với connector tới BigQuery. Cơ bản cách tạo datasource khá dễ, tuy nhiên các bạn cần lưu ý khúc chọn table cho đúng đường dẫn tới dataset mà mình vừa mới làm việc phía trên.

Chọn đúng table cần phân tích
Datasource cần đạt được

Phần tiếp theo là của các bạn! Các bạn có thể tùy ý tạo chart trên report của mình tùy theo insight mà các bạn thấy từ dữ liệu. Các bạn có thể tham khảo thêm trên document của Data Studio hoặc các khóa học của Cloud Ace để tìm hiểu về cách thêm chart hay cấu hình từng loại chart, hoặc có thể mình sẽ viết một bài chi tiết hơn về vấn đề này.

Các bạn có thể tham khảo một số chart mà mình đã làm.

Chart mẫu
Chart mẫu

Cách phân quyền viewer, editor trên report?

Các bạn có thể dễ dàng phân quyền Report Viewer & Report Editor như sau:

Phân quyền trên report

Như vậy chúng ta đã xây dựng được một mô hình BI cơ bản với BigQuery và Data Studio, giúp các bạn bước đầu làm quen với BI trên Google Cloud. Kì tới chúng ta sẽ xem xét lại kỹ hơn về mô hình này và làm rõ tại sao trong thực tế chúng ta cần phải cải tiến và nâng cấp mô hình này lên rất nhiều lần.

Hẹn gặp lại các bạn!

Comments are closed.