Đây là bài số 36 trong chuỗi series của Triều Đặng — bài viết chuyên môn về Power BI dành cho Financial Analytics và Wealth Management.
#MCNA #TrieuDang #Sharing36 #PowerBI #WealthManagement
Designing client portfolio reports Power BI Wealth Management là bước hoàn thiện cuối cùng của toàn bộ hệ thống analytics. Nếu report không được thiết kế đúng cho từng nhóm người dùng — data model tốt, DAX measures chính xác, visualization đẹp vẫn chưa đủ.
Bài viết hướng dẫn toàn bộ quy trình thiết kế report chuyên nghiệp — từ layout, RBAC, RLS đến drill-through và export PDF.
Tham khảo thêm tại Microsoft Power BI Report Design Guide.
📌 Đây là bài số 36 trong series Power BI Financial Analytics tại MCNA:
- Bài 9: Time Intelligence in Power BI for Financial Analysis
- Bài 10: Analyzing Portfolio Growth Over Time Using Power BI
- Bài 11: Visualizing Portfolio Risk and Volatility in Power BI
- Bài 36: Designing Client Portfolio Reports Power BI Wealth Management ← Bạn đang đọc
Mục Lục
- Hiểu người dùng trước khi thiết kế
- Designing Client Portfolio Reports — Layout chuẩn Wealth Management
- Phân quyền RBAC — Role-Based Access Control
- Row Level Security (RLS) trong Power BI
- Drill-through và Navigation
- Bookmarks và Toggle Views
- DAX Display Measures cho Report
- Tooltip Pages nâng cao
- Export và Scheduled Delivery
- Kết luận
1. Hiểu Người Dùng Trước Khi Thiết Kế
Ba nhóm người dùng chính khi designing client portfolio reports Power BI Wealth Management
Mỗi nhóm người dùng cần một góc nhìn khác nhau về cùng một dữ liệu.
Thiết kế một report duy nhất cho tất cả là sai lầm phổ biến nhất. Kết quả là report quá phức tạp — không ai dùng được hiệu quả.
| Nhóm người dùng | Cần thấy gì? | Tần suất xem |
|---|---|---|
| Portfolio Manager | Toàn bộ danh mục, risk metrics, alpha vs benchmark | Hàng ngày |
| Relationship Manager (RM) | Danh mục của khách hàng mình phụ trách, YTD return, next action | Hàng tuần |
| Client (Khách hàng) | AUM của mình, lợi suất, phân bổ tài sản — đơn giản, trực quan | Hàng tháng |
| Management / C-level | Tổng AUM toàn công ty, top clients, P&L tổng hợp | Hàng tháng / Quý |
| Compliance / Risk | Breach alerts, VaR, concentration risk, regulatory metrics | Real-time |
User Story trước khi thiết kế
Mỗi report page phải xuất phát từ một User Story cụ thể.
Ví dụ: “Là Portfolio Manager, tôi cần thấy ngay khi mở report: tổng AUM, return hôm nay, và bất kỳ alert nào vượt ngưỡng risk.”
Từ User Story này mới xác định được layout, KPI cards, và drill-through path phù hợp.
💡 Nguyên tắc: Mỗi report page = một User Story. Không thiết kế page trước rồi mới nghĩ user cần gì.
2. Designing Client Portfolio Reports Power BI — Layout Chuẩn Wealth Management
Cấu trúc 4 tầng chuẩn
Khi designing client portfolio reports Power BI Wealth Management, cấu trúc 4 tầng page là tiêu chuẩn được áp dụng rộng rãi nhất:
- Tầng 1 — Executive Summary: Tổng quan cho C-level. Tối đa 5 KPI cards + 2 chart. Load nhanh.
- Tầng 2 — Portfolio Overview: Portfolio Manager view. AUM, return, allocation, benchmark.
- Tầng 3 — Client Detail: Drill-through từ Overview. Từng client cụ thể.
- Tầng 4 — Risk & Compliance: Risk metrics, VaR, drawdown, breach alerts.
Grid layout chuẩn cho mỗi page
-- Power BI Canvas: 1920 × 1080px (Full HD)
-- Hoặc 1280 × 720px cho màn hình nhỏ hơn
-- Layout grid gợi ý:
-- Header bar: Full width, height 60px → Logo + Title + Date filter
-- KPI row: Full width, height 120px → 4-5 KPI cards ngang
-- Main area: Chia 2 hoặc 3 cột, height 500px
-- Footer bar: Full width, height 40px → Data freshness + Contact
-- Margin: 16px tất cả các phía
-- Spacing giữa visual: 8px
-- Card padding: 12px
Typography và màu sắc nhất quán
-- Font: Segoe UI (mặc định Power BI) — không thay đổi
-- Title: 16px Bold | Color: #1A2744
-- Subtitle: 13px Regular | Color: #4A5568
-- Body: 12px Regular | Color: #2D3748
-- KPI big: 28-36px Bold | Color theo màu brand
-- Palette Wealth Management (gợi ý):
Primary: #0A1628 (navy)
Accent: #00C896 (emerald green — growth)
Alert: #FF4455 (red — loss/risk)
Neutral: #4285F4 (blue — benchmark)
Gold: #FFB800 (amber — caution)
Background: #F7F9FC (light gray)
✅ Best practice: Tạo một trang “Theme Settings” ẩn trong report. Liệt kê tất cả màu sắc và font đang dùng. Giúp maintain consistency khi có người mới join team.
3. Phân Quyền RBAC — Role-Based Access Control
RBAC trong Power BI hoạt động thế nào?
RBAC quyết định ai được phép xem report nào. Đây là yêu cầu bắt buộc trong Wealth Management.
Relationship Manager chỉ được xem danh mục của khách hàng mình phụ trách. Không được xem của RM khác.
Thiết lập Workspace Roles
-- Power BI Workspace có 4 role mặc định:
-- Admin → full control (IT/BI team)
-- Member → publish, edit reports
-- Contributor → create content, không publish
-- Viewer → chỉ xem (dùng cho Clients, C-level)
-- Cấu hình:
-- Portfolio Manager → Member role
-- Relationship Manager → Viewer role + RLS
-- Client → Viewer role + RLS (filtered to own data)
-- C-level → Viewer role (no RLS — thấy tất cả)
-- Compliance → Member role (thấy tất cả, không edit)
App Permissions — phân quyền theo App
-- Power BI App là cách tốt nhất để phân phối report
-- Mỗi audience group dùng một App khác nhau:
-- App 1: "WM Internal Dashboard"
-- → Portfolio Manager, RM, Risk team
-- → Full data với RLS filter theo user
-- App 2: "Client Portal Report"
-- → Chỉ client xem data của mình
-- → Simplified layout, ẩn technical metrics
-- App 3: "Executive Summary"
-- → C-level, Board members
-- → Aggregated view, no client PII visible
4. Row Level Security (RLS) Trong Power BI
RLS là gì và tại sao quan trọng?
RLS lọc dữ liệu ở tầng model — mỗi user chỉ thấy đúng rows họ được phép.
Đây là layer bảo mật quan trọng nhất trong Wealth Management reporting. Client A không thể nhìn thấy dữ liệu của Client B — dù dùng chung một report.
Thiết lập RLS cho Wealth Management
-- Bước 1: Tạo bảng DimUserAccess
UserEmail VARCHAR(100) -- Email đăng nhập Power BI
ClientID INT -- Client được phép xem
RMCode VARCHAR(20) -- Mã RM phụ trách
AccessLevel VARCHAR(20) -- 'Client', 'RM', 'PM', 'Admin'
-- Bước 2: Tạo Role trong Power BI Desktop
-- Model → Manage Roles → New Role
-- Role: RM_Access
-- DimUserAccess[UserEmail] = USERPRINCIPALNAME()
-- Bước 3: DAX filter tự động theo role
-- Power BI tự apply filter: chỉ show rows match email
-- Bước 4: Test với "View as Role"
-- Modeling → View as → chọn Role → kiểm tra data
Dynamic RLS — linh hoạt hơn Static RLS
-- Dynamic RLS dùng USERPRINCIPALNAME() để filter
-- Không cần tạo role riêng cho mỗi user
-- Relationship: DimUserAccess → FactPortfolio (via ClientID)
-- DAX: Kiểm tra access level
User Access Level =
LOOKUPVALUE(
DimUserAccess[AccessLevel],
DimUserAccess[UserEmail],
USERPRINCIPALNAME()
)
-- Admin bypass RLS:
Is Admin =
IF(
LOOKUPVALUE(DimUserAccess[AccessLevel],
DimUserAccess[UserEmail], USERPRINCIPALNAME())
= "Admin",
TRUE(), FALSE()
)
⚠️ Lưu ý: RLS chỉ hoạt động khi report được publish lên Power BI Service. Khi test trong Desktop, RLS không apply tự động. Phải dùng “View as Role” để kiểm tra.
5. Drill-through Và Navigation
Tại sao Drill-through không thể thiếu khi designing client portfolio reports Power BI Wealth Management?
Drill-through cho phép người dùng click vào một điểm dữ liệu để xem chi tiết ở một page khác — đây là tính năng cốt lõi khi designing client portfolio reports Power BI Wealth Management.
Ví dụ: Click vào tên khách hàng trên Executive Summary → tự động mở trang Client Detail, đã filter sẵn cho khách hàng đó.
Thiết lập Drill-through chuẩn
-- Bước 1: Tạo Detail Page (ví dụ: "Client Detail")
-- Bước 2: Kéo field dùng làm drill key vào "Drill-through" well
-- → DimClient[ClientName] hoặc DimClient[ClientID]
-- Bước 3: Power BI tự tạo nút "Back" trên detail page
-- Bước 4: Cấu hình cross-report drill-through
-- Cho phép drill từ report khác sang report này
-- File → Options → Current File → Report settings
-- → Allow visuals in this report to use drill-through
-- targets from other reports
-- Drill-through path trong Wealth Management:
-- Executive Summary
-- → (click Client Segment) → Segment Overview
-- → (click Client Name) → Client Detail
-- → (click Asset) → Asset Detail
-- → (click Trade) → Trade History
Page Navigation Buttons
-- Thêm navigation bar nhất quán trên mọi page
-- Insert → Buttons → Navigator → Page navigator
-- Hoặc tự tạo bằng Blank Button:
-- Button → Action → Type: Page navigation
-- → Destination: chọn page
-- Navigation design:
-- Left sidebar: Report sections (Summary, Portfolio, Risk, Client)
-- Top bar: Filter context hiện tại (Client name, Date range)
-- Bottom: Breadcrumb trail (trang đang ở đâu trong hierarchy)
6. Bookmarks Và Toggle Views
Bookmarks dùng làm gì?
Bookmarks lưu trạng thái của report — filter, slicer, visuals đang hiển thị.
Kết hợp với Buttons, bookmarks tạo ra toggle views — chuyển đổi giữa các góc nhìn khác nhau mà không cần nhiều pages.
Toggle View patterns phổ biến
-- Pattern 1: Chart / Table toggle
-- Một area hiển thị chart HOẶC table
-- Người dùng click button để chuyển đổi
-- Bước 1: Tạo hai visual (Line Chart + Table) chồng lên nhau
-- Bước 2: Tạo 2 Bookmarks:
-- Bookmark A: Chart visible, Table hidden
-- Bookmark B: Table visible, Chart hidden
-- Bước 3: Gán bookmark vào 2 buttons tương ứng
-- Pattern 2: YTD / MTD / QTD toggle
-- 3 buttons → 3 bookmarks → đổi measure hiển thị
-- Dùng Field Parameters (Power BI 2022+)
-- Pattern 3: Show/Hide filters pane
-- Button "Bộ lọc" → toggle advanced filter panel
-- Giúp giao diện clean hơn khi không dùng filter
Field Parameters — toggle linh hoạt hơn
-- Field Parameters (Modeling → New Parameter → Fields)
-- Cho phép user chọn metric muốn xem trong visual
-- Ví dụ: Parameter "Return Period"
-- Option 1: [Return YTD %]
-- Option 2: [Return MTD %]
-- Option 3: [Rolling 12M Return %]
-- Kết hợp với Slicer → visual tự cập nhật theo lựa chọn
-- Không cần bookmark cho pattern này
💡 Nguyên tắc: Dùng Field Parameters khi toggle thay đổi metric. Dùng Bookmarks khi toggle thay đổi layout hoặc visual type.
7. DAX Display Measures Cho Report
Tại sao cần Display Measures riêng?
Display Measures là các measures đã được format sẵn — chỉ dùng để hiển thị trên visual.
Không dùng Display Measures trong calculation khác. Chúng chứa text formatting — không thể dùng trong math.
DAX Display Measures chuẩn cho Portfolio Report
-- AUM Display (tự đổi đơn vị theo quy mô)
Disp AUM =
VAR V = [Total Market Value]
RETURN
SWITCH(TRUE(),
V >= 1000000000000, FORMAT(V/1000000000000, "₫#,##0.0") & " nghìn tỷ",
V >= 1000000000, FORMAT(V/1000000000, "₫#,##0.0") & " tỷ",
V >= 1000000, FORMAT(V/1000000, "₫#,##0.0") & " triệu",
FORMAT(V, "₫#,##0")
)
-- Return Display với màu sắc
Disp Return =
VAR R = [HPR YTD %]
RETURN
IF(R >= 0,
"▲ " & FORMAT(R, "0.00%"),
"▼ " & FORMAT(ABS(R), "0.00%")
)
-- PnL Display
Disp PnL =
VAR P = [Total PnL]
RETURN
IF(P >= 0,
"+" & FORMAT(P/1000000, "₫#,##0.0M"),
"-" & FORMAT(ABS(P)/1000000, "₫#,##0.0M")
)
-- Risk Level Display
Disp Risk Level =
SWITCH(TRUE(),
[Portfolio Volatility %] < 0.08, "🟢 Thấp",
[Portfolio Volatility %] < 0.15, "🟡 Trung bình",
[Portfolio Volatility %] < 0.25, "🟠 Cao",
"🔴 Rất cao"
)
-- Last Updated Display
Disp Last Updated =
"Cập nhật lúc: " & FORMAT(NOW(), "DD/MM/YYYY HH:MM")
Conditional Formatting qua DAX
-- Color measure cho KPI card background
Return Color Hex =
IF([HPR YTD %] >= 0, "#E8F5E9", "#FFEBEE")
-- Color measure cho font
Return Font Color =
IF([HPR YTD %] >= 0, "#1B5E20", "#B71C1C")
-- Gán vào visual:
-- Format → Conditional formatting → Background color
-- → Field value → chọn [Return Color Hex]
8. Tooltip Pages Nâng Cao
Tooltip Page là gì?
Tooltip Page là một page đặc biệt. Khi hover chuột vào visual, nó hiện lên như một popup mini-report.
Đây là cách thêm context mà không làm phức tạp giao diện chính.
Thiết lập Tooltip Page chuẩn
-- Bước 1: Tạo page mới → Page information
-- Bật "Allow use as tooltip"
-- Set canvas size: 320 × 240px (Tooltip size)
-- Bước 2: Thiết kế nội dung tooltip
-- Ví dụ: Hover vào tên Client
-- Tooltip hiện: AUM, Return YTD, Top Asset, RM phụ trách
-- Bước 3: Gán tooltip page vào visual
-- Visual → Format → Tooltip → Type: Report page
-- → Page: chọn Tooltip page vừa tạo
-- Bước 4: Tooltip tự động filter theo context
-- Hover vào Client A → tooltip chỉ show data của A
Ví dụ Tooltip cho Client List table
-- Tooltip page "Client Quick View" chứa:
-- Row 1: Client Name (large, bold)
-- Row 2: AUM + Return YTD side by side
-- Row 3: Mini donut chart — allocation
-- Row 4: Top 3 holdings (table)
-- Row 5: RM Name + Last contact date
-- Cách đặt tên tooltip page: "TT_ClientDetail"
-- Prefix "TT_" giúp dễ phân biệt với normal pages
⚠️ Lưu ý: Tooltip pages không hiển thị trong navigation. Đặt chúng ở cuối danh sách pages và ẩn trong View settings nếu cần.
9. Export Và Scheduled Delivery
Export PDF — Bước cuối khi designing client portfolio reports Power BI Wealth Management
Một quy trình designing client portfolio reports Power BI Wealth Management hoàn chỉnh phải bao gồm export. Client không phải lúc nào cũng muốn vào Power BI Service — họ cần PDF hàng tháng.
Power BI hỗ trợ export PDF từ Service — nhưng cần cấu hình đúng để output đẹp.
Chuẩn bị report để export đẹp
-- Thiết lập trước khi export PDF:
-- 1. Dùng canvas 1240 × 1754px (A4 Portrait)
-- Hoặc 1754 × 1240px (A4 Landscape)
-- 2. Tắt tất cả slicer không cần thiết trước khi export
-- 3. Dùng Print Layout view để preview trước
-- 4. Font size tối thiểu 11px (nhỏ hơn sẽ mờ khi in)
-- Sau khi export PDF:
-- File → Export → Export to PDF
-- Chọn: Export current values (áp dụng filter hiện tại)
-- Cách export theo từng client:
-- Dùng Paginated Reports (Power BI Premium)
-- Hoặc script Python qua Power BI REST API
Scheduled Email Delivery
-- Power BI Service → Report → Subscribe
-- Cấu hình:
-- Recipients: email list của clients
-- Frequency: Monthly (1st of month)
-- Time: 8:00 AM
-- Format: PDF attachment hoặc PNG preview
-- Power Automate integration cho advanced delivery:
-- Trigger: Schedule (monthly)
-- Action 1: Export report via Power BI API
-- Action 2: Send email với attachment
-- Action 3: Log delivery status vào SharePoint
-- Hoặc dùng Power BI Paginated Reports
-- Hỗ trợ mail merge — gửi report riêng cho từng client
-- Mỗi client nhận PDF chỉ có data của họ
10. Kết Luận
Designing client portfolio reports Power BI Wealth Management — Điểm chạm cuối cùng với người dùng
Designing client portfolio reports Power BI Wealth Management không phải là bước cuối cùng về mặt kỹ thuật — nhưng đây là điểm chạm cuối cùng với người dùng. Report tốt biến data thành quyết định. Report kém khiến data tốt bị lãng phí.
Khi layout, RBAC, RLS, drill-through và export được cấu hình đúng — toàn bộ hệ thống Power BI mới thực sự vận hành trơn tru.
Ba nguyên tắc cốt lõi cần nhớ
- Thiết kế từ User Story, không phải từ data. Mỗi page phải trả lời một câu hỏi cụ thể của một nhóm người dùng cụ thể.
- RLS là bắt buộc trong Wealth Management. Không có RLS = rủi ro data breach nghiêm trọng. Không có ngoại lệ.
- Display Measures riêng, không format trong visual settings. Formatting nhúng vào measures giúp maintain nhất quán khi model thay đổi.
Tài liệu tham khảo
- 📘 Power BI Report View — Microsoft Docs
- 📘 Row Level Security in Power BI — Microsoft Docs
- 📘 Bookmarks in Power BI — Microsoft Docs
- 📘 Drill-through in Power BI — Microsoft Docs
- 📘 Portfolio Performance Evaluation — CFA Institute
- 📘 DAX Studio — tối ưu Display Measures
Bài viết liên quan tại MCNA
- 👉 Visualizing Portfolio Risk and Volatility in Power BI
- 👉 Analyzing Portfolio Growth Over Time Using Power BI
- 👉 Time Intelligence in Power BI for Financial Analysis
- 👉 Tracking Realized vs Unrealized Profit in Power BI
- 👉 Khóa học Power BI & Business Intelligence tại MCNA
- 👉 Blog Data Analytics MCNA — Tất cả bài viết
Về tác giả
Triều Đặng — Middle Data Analyst tại MCNA Technology School. Chuyên về financial data analytics, Power BI và automated reporting trong Wealth Management.
Chuỗi series Power BI Financial Analytics ghi lại toàn bộ hành trình xây dựng hệ thống analytics cho Wealth Management. Từ data model đến report delivery — từng bước thực chiến.
MCNA Technology School là đơn vị tiên phong đào tạo AI, Big Data, Business Intelligence tại Việt Nam.
Đối tác đào tạo của 300+ doanh nghiệp: Viettel Global, Masan Group, Techcombank, VPBank, Daikin.
- 🌐 mcna.vn
- 📘 facebook.com/mcnatechnologyschool
- ▶️ youtube.com/@mcna.technology.school
- 💼 linkedin.com/company/mcna-vn
- 📞 0939.866.825 (Mr. Minh Khang)
- 📍 30 Trung Liệt, Đống Đa, Hà Nội
- 📍 Liền kề 44B, TT2, Văn Quán, Hà Đông, Hà Nội
- 📍 The BIB Space, 50B Phan Tây Hồ, Cầu Kiệu, TPHCM

