Power BI 7 — Trực quan & thiết kế báo cáo tương tác

13 thg 7, 2026 3 lượt xem
#bi
#visualization
#power-bi
#ux
#drill-through
#report-design

Từ mô hình đến báo cáo: nơi giá trị thật sự xuất hiện

Bạn có thể có một mô hình dữ liệu hoàn hảo — star schema gọn gàng, measure DAX chính xác, time intelligence chạy mượt — nhưng nếu người dùng cuối mở báo cáo và không tìm được câu trả lời trong vài giây, mọi công sức đó vô nghĩa. Báo cáo là giao diện giữa mô hình và người ra quyết định.

Bài này đi sâu vào khía cạnh Power BI của thiết kế báo cáo. Nếu bạn muốn nền tảng tư duy chung về data storytelling, hãy đọc bài BI Zero to Hero tương ứng trước; ở đây ta tập trung vào công cụ và kỹ thuật cụ thể của Power BI: chọn visual, tương tác giữa các visual, điều hướng sâu, bookmarks, theme, khả năng tiếp cận và hiệu năng trang.

Nguyên tắc thiết kế: bắt đầu từ câu hỏi, không phải từ dữ liệu

Sai lầm phổ biến nhất: mở Power BI, kéo tất cả cột lên canvas, rồi hy vọng "insight tự lộ ra". Kết quả là một mớ visual không ai đọc. Hãy đảo ngược quy trình:

  1. Người dùng là ai? Ban lãnh đạo cần bức tranh tổng thể, một trang, số lớn. Chuyên viên nghiệp vụ cần bảng chi tiết, lọc được, xuất được.
  2. Họ cần trả lời câu hỏi gì? "Dư nợ tháng này so cùng kỳ?", "Chi nhánh nào NPL tăng bất thường?", "Sản phẩm nào đóng góp huy động lớn nhất?" Mỗi câu hỏi ứng với một cách trực quan cụ thể.
  3. Họ sẽ hành động gì sau khi xem? Nếu không dẫn tới hành động, cân nhắc bỏ visual đó.

Từ đó áp dụng phân cấp thông tin (visual hierarchy): đặt chỉ số quan trọng nhất ở góc trên bên trái (nơi mắt người đọc quét đầu tiên theo mẫu chữ Z hoặc F), số phụ và biểu đồ hỗ trợ bên dưới, chi tiết ở lớp sâu hơn (drill). Tránh nhồi nhét: một trang tổng quan nên có 5–9 visual là tối đa; nhiều hơn thì tách trang hoặc đẩy xuống drill-through.

Chọn visual đúng

Chọn sai loại biểu đồ là cách nhanh nhất khiến dữ liệu đúng trở nên khó đọc. Nguyên tắc: loại câu hỏi quyết định loại visual.

Nhu cầuVisual nên dùngLưu ý
So sánh giá trị giữa các hạng mụcBar / Column chartBar (ngang) tốt khi nhãn dài; sắp xếp theo giá trị, không theo alphabet
Xu hướng theo thời gianLine chartTrục thời gian liên tục; tránh quá nhiều đường (>4–5 khó đọc)
Tỷ trọng thành phầnCẩn thận với Pie/DonutChỉ dùng khi ≤ 3–4 lát và tổng = 100%; thường bar xếp chồng hoặc bar 100% dễ đọc hơn
Phân bốHistogram, box plot, scatterScatter để tìm tương quan / outlier
Số liệu chính xác, nhiều dòngTable / MatrixMatrix cho dữ liệu có cấp bậc hàng-cột (pivot)
Một chỉ số nổi bậtCard / KPIKPI có ngưỡng và xu hướng; Card cho số đơn
Dữ liệu địa lýMap, Filled mapChỉ khi vị trí thật sự mang ý nghĩa

Khi nào KHÔNG dùng:

  • Pie chart với nhiều lát: mắt người rất kém trong so sánh diện tích/góc. Bốn lát trở lên gần bằng nhau là không đọc được — chuyển sang bar.
  • Trục 3D, hiệu ứng đổ bóng: bóp méo cảm nhận giá trị, làm sai lệch so sánh.
  • Dual-axis (hai trục Y) khi hai thang đo khác nhau: dễ tạo ấn tượng giả về tương quan.
  • Bảng khổng lồ trên trang tổng quan: bảng là để tra cứu chi tiết, không phải để "kể chuyện" ở trang đầu.

Custom visuals (AppSource) như các loại bullet chart, decomposition tree, ZoomCharts, hay các visual của Zebra BI/Inforiver mở rộng khả năng, nhưng cân nhắc kỹ: chúng có thể chậm hơn visual native, phụ thuộc bên thứ ba, và cần được tổ chức duyệt về mặt bảo mật (xem Quản trị & triển khai). Với dữ liệu ngân hàng nhạy cảm, ưu tiên visual chuẩn hoặc visual đã được certified.

Tương tác giữa các visual

Điều làm báo cáo Power BI khác một tấm hình tĩnh chính là tương tác.

Cross-filtering và cross-highlighting

Mặc định, khi bạn bấm vào một điểm dữ liệu trong một visual (ví dụ cột "Chi nhánh Hà Nội"), các visual khác trên cùng trang sẽ phản ứng:

  • Cross-highlight: visual làm nổi phần liên quan, làm mờ phần còn lại (giữ nguyên tổng thể để so sánh).
  • Cross-filter: visual chỉ hiển thị dữ liệu khớp với lựa chọn (lọc hẳn).

Edit interactions

Bạn kiểm soát chính xác hành vi này qua Format → Edit interactions. Khi bật, mỗi visual nguồn hiện ba nút nhỏ trên các visual đích: filter, highlight, hoặc none (không phản ứng). Đây là công cụ mạnh để tránh những tương tác gây rối — ví dụ, bạn có thể để một card KPI "Tổng dư nợ toàn hàng" không bị lọc khi người dùng chọn một chi nhánh, giữ nó làm mốc so sánh.

Slicer và sync slicer

Slicer là bộ lọc dạng visual (dropdown, list, khoảng thời gian). Với báo cáo nhiều trang, dùng Sync slicers (View → Sync slicers) để một slicer áp dụng đồng bộ trên nhiều trang — người dùng chọn "Quý 2/2026" ở trang tổng quan và giữ nguyên khi chuyển sang trang chi tiết. Bạn kiểm soát từng trang nào được đồng bộ, tránh áp lọc vào những trang không mong muốn.

Điều hướng sâu: drill-down, drill-through, bookmarks

Đây là phần phân biệt báo cáo nghiệp dư với báo cáo chuyên nghiệp.

Drill-down (trong cùng một visual)

Drill-down hoạt động trên hierarchy (phân cấp) trong cùng một visual. Ví dụ trục Năm → Quý → Tháng, hoặc Vùng → Chi nhánh → Phòng giao dịch. Người dùng bấm nút mũi tên drill để đi sâu vào một cấp mà vẫn ở nguyên visual đó. Drill-down giữ người dùng bên trong một biểu đồ.

Drill-through (sang trang chi tiết theo ngữ cảnh)

Drill-through đưa người dùng từ một điểm dữ liệu ở trang tổng quan sang một trang chi tiết riêng — và tự động mang theo ngữ cảnh lọc của điểm được chọn. Ví dụ: chuột phải vào cột "Chi nhánh Đà Nẵng" → chọn Drill through → Chi tiết chi nhánh, và trang đích được lọc tự động chỉ còn Đà Nẵng.

Cách thiết lập: trên trang đích, kéo trường (ví dụ Branch) vào ô Drill through trong Visualizations pane. Power BI tự thêm nút "quay lại" (back button). Có thể để Keep all filters để mang toàn bộ ngữ cảnh, hoặc chỉ mang trường drill. Drill-through có thể kích hoạt bằng chuột phải hoặc bằng một button "Xem chi tiết".

Khác biệt cốt lõi: drill-down mở rộng cấp trong cùng visual; drill-through mở một trang chi tiết riêng, giữ nguyên filter context của điểm đã chọn.

Bookmarks + buttons

Bookmark chụp lại trạng thái hiện tại của trang: lựa chọn visual, bộ lọc, trạng thái drill, và cả việc visual nào đang ẩn/hiện. Kết hợp bookmark với buttons (Format → Action) tạo nên trải nghiệm kể chuyện và điều hướng:

  • Ẩn/hiện visual: dùng Selection pane để ẩn một nhóm visual, chụp bookmark; button chuyển đổi giữa "Xem biểu đồ" và "Xem bảng số".
  • Reset: một button "Xóa bộ lọc" gán bookmark trạng thái mặc định.
  • Kể chuyện tuần tự: chuỗi bookmark dẫn người xem qua từng bước phân tích.
  • Page navigation: button với action "Page navigation" để chuyển thẳng tới một trang cụ thể, thay cho tab trang mặc định — tạo cảm giác như một ứng dụng.

Tooltips (kể cả report page tooltip)

Default tooltip hiện tự động khi hover, chỉ hiển thị các trường đã có trong visual, định dạng hạn chế.

Report page tooltip mạnh hơn nhiều: bạn tạo một trang báo cáo nhỏ chứa card, biểu đồ mini, hình ảnh, rồi gán nó làm tooltip. Khi hover vào cột "Chi nhánh Hà Nội", một mini-dashboard bật lên với xu hướng dư nợ 12 tháng của riêng chi nhánh đó.

Thực hành chuẩn theo Microsoft:

  • Đặt kích thước trang tooltip nhỏ — dùng preset Tooltip (320×240 px).
  • Bật Allow use as tooltip trong Page information.
  • Ẩn trang (right-click page → Hide page) để người dùng không điều hướng nhầm vào nó.
  • Giữ nội dung ngắn gọn, liên quan trực tiếp tới điểm dữ liệu đang hover.

Sơ đồ luồng điều hướng

Trải nghiệm và chuẩn thiết kế

Theme (JSON theme)

Power BI cho phép nhập theme dưới dạng file JSON để đồng bộ màu sắc, font, định dạng mặc định của mọi visual trên toàn báo cáo. Một theme doanh nghiệp chuẩn (màu thương hiệu ngân hàng, bảng màu data an toàn cho người mù màu, font hệ thống) giúp mọi báo cáo trong tổ chức trông nhất quán và tiết kiệm thời gian định dạng thủ công. Đây cũng là điểm nối với chuẩn quản trị (Quản trị & triển khai).

Layout, grid, responsive và mobile

  • Bật GridlinesSnap to grid (View) để căn chỉnh visual thẳng hàng — sự chỉnh chu thị giác tạo cảm giác đáng tin.
  • Dùng nền phân nhóm (rectangle/background) để gom các visual liên quan.
  • Tạo Mobile layout riêng (View → Mobile layout) cho lãnh đạo xem trên điện thoại: bố trí dọc, ưu tiên card KPI, ẩn bảng chi tiết.

Accessibility (khả năng tiếp cận)

Đừng bỏ qua — đây vừa là chuẩn chuyên nghiệp, vừa là yêu cầu tuân thủ ở nhiều tổ chức:

  • Tab order: đặt thứ tự tab hợp lý trong Selection pane để người dùng bàn phím / screen reader đi theo luồng logic.
  • Alt text: viết mô tả cho từng visual để công cụ đọc màn hình diễn giải.
  • Tương phản màu: đảm bảo chữ/nền đủ tương phản; không dùng chỉ màu để truyền tin (thêm nhãn, biểu tượng) vì người mù màu không phân biệt được đỏ/xanh.

Định dạng số và tiền tệ VN

Với báo cáo tài chính Việt Nam: đặt định dạng số dùng dấu phân cách hàng nghìn phù hợp, hiển thị đơn vị tỷ / triệu VND hợp lý (dùng Display units), và thống nhất số chữ số thập phân. Một measure định dạng sẵn (format string trong DAX) sẽ nhất quán hơn định dạng thủ công từng visual.

Kể chuyện với dữ liệu

Bố cục top-down: câu trả lời tổng ở trên, bằng chứng chi tiết ở dưới. Người bận rộn chỉ cần nhìn hàng đầu; người muốn đào sâu cuộn xuống.

Tiêu đề động (dynamic title) bằng measure: tiêu đề tự đổi theo bộ lọc, giúp người xem luôn biết mình đang nhìn ngữ cảnh nào.

-- (minh hoạ) Tiêu đề động phản ánh kỳ và chi nhánh đang chọn
Tieu_De_Dong =
VAR ChiNhanh =
    IF (
        HASONEVALUE ( 'DimBranch'[BranchName] ),
        VALUES ( 'DimBranch'[BranchName] ),
        "Toàn hàng"
    )
VAR Ky = SELECTEDVALUE ( 'DimDate'[YearQuarter], "Tất cả kỳ" )
RETURN
    "Tổng quan dư nợ — " & ChiNhanh & " — " & Ky

Gán measure này vào tiêu đề visual (Title → fx → Field value). Thêm chú thích (annotation) và text box nhấn insight quan trọng ("NPL chi nhánh X tăng 0.8 điểm % so quý trước") thay vì để người đọc tự dò.

Hiệu năng trang báo cáo

Báo cáo đẹp mà tải chậm sẽ bị bỏ. Nguyên tắc tối ưu:

  • Giảm số visual trên mỗi trang. Mỗi visual thường phát sinh ít nhất một truy vấn DAX. 20 visual = 20 truy vấn đồng thời, chúng xếp hàng chờ nhau. Giữ trang gọn (~8 visual) và đẩy chi tiết xuống drill-through.
  • Tránh measure nặng lặp lại ở nhiều visual — nếu một measure phức tạp xuất hiện trong 10 visual, nó chạy 10 lần.
  • Giới hạn visual gọi nhiều truy vấn: slicer với nhiều trường, bảng khổng lồ, custom visual chậm.

Performance Analyzer

Công cụ có sẵn trong Report view (View → Performance Analyzer). Bấm Start recording rồi Refresh visuals, Power BI đo thời gian từng visual, chia thành:

  • DAX query: thời gian mô hình trả kết quả — nếu chiếm phần lớn, nút thắt nằm ở measure/mô hình.
  • Visual display: thời gian vẽ lên màn hình — nếu lớn, visual quá phức tạp hoặc trang quá nhiều visual.
  • Other: overhead, chờ visual khác — thường báo hiệu trang bị quá tải, visual xếp hàng.

Bạn có thể copy câu DAX của visual chậm và chạy trong DAX Studio để phân tích sâu execution plan và server timings, hoặc export ra file JSON để lưu vết đo.

Ảnh hưởng của DirectQuery

Với chế độ lưu trữ DirectQuery, mỗi tương tác (lọc, drill, mở trang) sinh truy vấn thẳng xuống nguồn — độ trễ phụ thuộc hệ thống nguồn và có thể chậm hơn Import đáng kể. Trên trang báo cáo, điều này khuếch đại chi phí của việc có quá nhiều visual. Với DirectQuery: giảm mạnh số visual/trang, hạn chế slicer tự động áp dụng, và cân nhắc mô hình Composite đưa bảng nóng sang Import.

Use case thực tế: dashboard giám sát ngân hàng

Bối cảnh: ban điều hành cần theo dõi sức khỏe tín dụng và huy động toàn hàng, đồng thời cho phép soi sâu từng chi nhánh.

Trang 1 — Tổng quan toàn hàng (executive)

  • Hàng KPI trên cùng: Tổng dư nợ, Tổng huy động, Tỷ lệ NPL, CASA — mỗi cái là card/KPI có so sánh cùng kỳ (dùng time intelligence). Card "Tổng dư nợ toàn hàng" được đặt Edit interactions = none để làm mốc cố định.
  • Line chart: xu hướng dư nợ 13 tháng.
  • Bar chart: Top 10 chi nhánh theo dư nợ, sắp giảm dần.
  • Slicer: Kỳ báo cáo (sync slicer sang trang chi tiết).
  • Report page tooltip: hover một chi nhánh trong bar chart bật mini-dashboard xu hướng riêng.
  • Tiêu đề động phản ánh kỳ đang chọn.

Điều hướng → Trang 2 — Chi tiết chi nhánh

  • Kích hoạt bằng chuột phải "Drill through" hoặc button "Xem chi tiết".
  • Trang tự lọc theo chi nhánh đã chọn, giữ kỳ báo cáo qua sync slicer.
  • Matrix: cơ cấu dư nợ theo sản phẩm; drill-down Sản phẩm → Nhóm khách hàng.
  • KPI rủi ro chi nhánh; bảng danh sách khoản vay quá hạn (chi tiết, xuất được).
  • Button Back quay về Tổng quan.

Hiệu năng & chuẩn: dùng Performance Analyzer để giữ mỗi trang < 2–3 giây; áp theme JSON thương hiệu; thêm alt text và tab order cho tuân thủ; định dạng số theo tỷ VND. Nếu nguồn là DirectQuery, giới hạn visual/trang và cân nhắc Composite.

Ghi nhớ

  • Bắt đầu từ câu hỏi của người dùng, không từ dữ liệu sẵn có; áp dụng phân cấp thông tin và tránh nhồi nhét (~5–9 visual/trang).
  • Loại câu hỏi quyết định loại visual: bar cho so sánh, line cho xu hướng, cẩn thận với pie, card/KPI cho chỉ số nổi bật.
  • Edit interactions cho bạn kiểm soát chính xác cross-filter / highlight / none giữa các visual.
  • Drill-down = sâu hơn trong cùng visual; drill-through = sang trang chi tiết, giữ ngữ cảnh lọc.
  • Bookmarks + buttons tạo ẩn/hiện, reset, kể chuyện và điều hướng như một ứng dụng.
  • Report page tooltip (320×240, ẩn trang, allow use as tooltip) biến hover thành mini-dashboard.
  • Áp theme JSON, mobile layout, và accessibility (tab order, alt text, tương phản) như tiêu chuẩn mặc định.
  • Performance Analyzer phân tách DAX query / Visual display / Other để tìm đúng nút thắt; DirectQuery khuếch đại chi phí số visual/trang.

Đọc tiếp trong series:

Bài viết liên quan

Phân biệt ước lượng điểm và ước lượng khoảng, cách xây khoảng tin cậy (CI) bằng margin of error z*·SE / t*·SE, đánh đổi mức 90/95/99%, và cách DIỄN GIẢI ĐÚNG khoảng tin cậy (95% CI không phải xác suất tham số nằm trong khoảng). Có CI cho trung bình và cho tỷ lệ, ảnh hưởng của cỡ mẫu, cùng ví dụ ngân hàng về tỷ lệ nợ xấu và số dư trung bình.

13 thg 7, 2026 4

Kimball dimensional modeling: bảng fact/dimension, star vs snowflake, grain, và Slowly Changing Dimension.

13 thg 7, 2026 3

Khối OLAP, các thao tác drill-down/roll-up/slice & dice/pivot, OLAP vs OLTP và ROLAP/MOLAP/HOLAP.

13 thg 7, 2026 3

Từ nguồn dữ liệu qua ETL/ELT vào Data Warehouse, Data Mart đến dashboard; staging, ODS, batch vs streaming.

13 thg 7, 2026 3