TC Data

TC Data Data & AI Consulting & Training Service Provider

🚀 Tối ưu hóa Semantic Model trong Power BI với Tabular Editor & DAX Studio Xây dựng một báo cáo Power BI thì dễ; nhưng x...
30/05/2026

🚀 Tối ưu hóa Semantic Model trong Power BI với Tabular Editor & DAX Studio

Xây dựng một báo cáo Power BI thì dễ; nhưng xây dựng một data model hiệu năng cao, có khả năng mở rộng và dễ bảo trì mới là thách thức thực sự. Khi dữ liệu ngày càng lớn, hiệu quả xử lý trở thành mấu chốt để đảm bảo trải nghiệm người dùng mượt mà với thời gian load dữ liệu nhanh.

• “Tại sao”: Tại sao cần vượt ra ngoài Power BI Desktop? 💡
Dù Power BI Desktop rất tốt cho việc trực quan hóa dữ liệu, nó có thể trở nên cồng kềnh khi cần tối ưu hóa chuyên sâu. Những người dùng nâng cao thường tận dụng các công cụ bên ngoài để giải quyết ba vấn đề cốt lõi:
⚠️ Tắc nghẽn hiệu năng : Các bộ dữ liệu lớn thường gặp tình trạng refresh chậm và các DAX measure ì ạch.
📦 Model phình to : Mỗi cột không dùng đến và kiểu dữ liệu kém hiệu quả đều tiêu tốn bộ nhớ và làm chậm Storage Engine.
⏱️ Tốc độ làm việc : Quản lý thủ công hàng trăm measure hay logic time-intelligence phức tạp rất mất thời gian và dễ xảy ra lỗi.

• “Như thế nào”: Quy trình tối ưu hóa chiến lược 🛠️
Cách tiếp cận hiệu quả nhất là kết hợp quy trình làm việc giữa Tabular Editor và DAX Studio:
1. Kiểm tra với DAX Studio
🔍 VertiPaq Analyzer : Xác định chính xác bảng và cột nào đang tiêu tốn nhiều bộ nhớ nhất.
📊 Server Timings : Phân tích DAX query để xem điểm tắc nghẽn nằm ở Formula Engine (logic phức tạp) hay Storage Engine (truy xuất dữ liệu).
2. Thực thi với Tabular Editor
⚡ Chỉnh sửa hàng loạt : Dùng C # scripting để tạo hoặc cập nhật hàng chục measure chỉ trong tích tắc.
🧩 Calculation Groups : Đơn giản hóa model bằng cách định nghĩa logic (như YTD, MTD, hay YoY) một lần duy nhất và áp dụng cho tất cả các measure.
✅ Best Practice Analyzer (BPA) : Tự động quét model theo chuẩn ngành để phát hiện các vấn đề tiềm ẩn như quan hệ hai chiều hay foreign key chưa ẩn.
3. Tinh chỉnh & Ghi tài liệu
🧠 Tinh chỉnh kiểu dữ liệu (ví dụ: chuyển Decimal sang Integer khi có thể) để cải thiện khả năng nén.
📁 Dùng Tabular Editor để sắp xếp measure vào các display folder và thêm mô tả metadata giúp dễ bảo trì về lâu dài.

• Kết luận 🎯
Tối ưu hóa không phải là việc làm một lần rồi thôi — đó là một kỷ luật. Bằng cách tích hợp các công cụ này vào quy trình làm việc, bạn chuyển mình từ một người xây dựng báo cáo thành một Kiến trúc sư Dữ liệu, đảm bảo các giải pháp Power BI của bạn được xây dựng để bền vững lâu dài.

Most FMCG companies spend 15–25% of net revenue on trade promotions. And can't tell you which half is working.❌ Post-pro...
28/05/2026

Most FMCG companies spend 15–25% of net revenue on trade promotions. And can't tell you which half is working.

❌ Post-promo analysis arrives 2 weeks after the campaign ends
❌ Baseline and ROI are still calculated manually in Excel
❌ Data lives in ERP, DMS, and Market data - with no single source of truth
❌ High-performing mechanics aren't being scaled. Failing ones aren't being stopped.

The result: 20–25% of trade spend is wasted - not because of bad strategy, but because of a broken analytics infrastructure.

At TC Data, we've built a Trade Promotion Analytics platform purpose-built for FMCG commercial teams - integrating ERP, DMS, and Market data into a single live engine that automates baseline calculation, measures true incremental uplift, and flags failing promotions in real-time.

Results our clients see:
+15–20% Promotion ROI
+10–15% Incremental Volume
10x faster decision speed

If your team is still fighting data latency and manual reconciliation, let's talk.

KHI DATA LÀ ĐỨA TRẺ "SIÊU QUẬY" 👶📊 Nhiều doanh nghiệp nghĩ rằng chỉ cần có Data là lập tức có ngay một “trợ lý thông min...
26/05/2026

KHI DATA LÀ ĐỨA TRẺ "SIÊU QUẬY" 👶📊

Nhiều doanh nghiệp nghĩ rằng chỉ cần có Data là lập tức có ngay một “trợ lý thông minh” giúp ra quyết định chính xác.
Nhưng thật ra, dữ liệu ở giai đoạn đầu thường giống như một đứa trẻ: lúc thì khóc nhè, lúc thì bày bừa khắp nơi (data rác), lại còn nói tiếng khó hiểu (null, lỗi font, lệch format). Cần rất nhiều thời gian để chăm sóc, chuẩn hoá và trưởng thành dần theo hệ thống vận hành của doanh nghiệp 💚

Và nếu không biết cách “nuôi”, đứa trẻ Data sẽ lớn lên với tính cách cực kì nổi loạn:
• Hở tí là "dỗi": Đang giờ báo cáo cho Sếp lớn thì lăn đùng ra "ngất" (sập pipeline).
• Thích chơi trốn tìm: Tìm mỏi mắt không thấy số liệu doanh thu tháng trước đâu, hoặc gửi nhầm địa chỉ sang phòng nhân sự.
• Nói một đằng làm một nẻo: Dashboard hiện một kiểu, thực tế doanh thu một kiểu, làm các sếp đau đầu - tiền đình.
Một “em bé Data” như vậy đôi khi sẽ cần khá nhiều thời gian và công sức để chăm sóc, lại rất dễ làm “cha mẹ” stress 😄
Đó cũng là lý do các doanh nghiệp cần đến đến những "bảo mẫu" Data như tụi mình! Tụi mình sẽ:
✨ Pha sữa, tắm rửa sạch sẽ cho Data thông qua các đường ống ETL xịn sò.
✨ Dạy dỗ, uốn nắn Data vào khuôn khổ bằng những model chuẩn chỉnh.
✨ "Make-up" cho Data thật lung linh trên các báo cáo trực quan, nhìn phát yêu ngay!

Data nhà các bác dạo này có ngoan không? Hay đang "khóc nhè" ở góc nào rồi? Chia sẻ với tụi mình, để cùng nuôi dạy các "em bé Data" thành tài nhé! 😎

🧩 User Defined Function (UDF) trong Power BI – một cách tiếp cận để chuẩn hoá và tái sử dụng logic  Trong quá trình xây ...
22/05/2026

🧩 User Defined Function (UDF) trong Power BI – một cách tiếp cận để chuẩn hoá và tái sử dụng logic

Trong quá trình xây dựng model Power BI, đặc biệt khi sử dụng DAX để xây dựng các chỉ số phân tích, có một vấn đề phổ biến là:
👉 sự trùng lặp của logic tính toán giữa các measure.
Các quy tắc nghiệp vụ (business rules), điều kiện lọc (filter conditions) hoặc các phép biến đổi dữ liệu thường được triển khai lặp lại dưới nhiều hình thức tương tự. Điều này khiến mô hình:
📈 Tăng độ phức tạp
⚠️ Ảnh hưởng đến tính nhất quán
🧠 Khả năng bảo trì

💡 Một hướng tiếp cận có tính hệ thống để giải quyết vấn đề trên là áp dụng tư duy UDF. Tức là trừu tượng hoá (abstraction) và đóng gói (encapsulation) các logic xử lý thành các đơn vị có thể tái sử dụng.
Dù Power BI không hỗ trợ UDF theo nghĩa hình thức như trong các hệ quản trị cơ sở dữ liệu truyền thống, nguyên lý này vẫn có thể được hiện thực hoá thông qua các cấu trúc tương đương như:
• Base measure trong DAX
• Hàm trong Power Query (M)
• Calculation Group trong mô hình tabular.


🔍 Phân tích trường hợp áp dụng

Xét bài toán tính toán chỉ số Sales Volume với các ràng buộc:
❌ Loại trừ các giao dịch thuộc loại RETURN
⏳ Loại trừ các trạng thái chưa hoàn tất (AWAITING)
⚙️ Áp dụng hệ số điều chỉnh cho một nhóm sản phẩm cụ thể

Trong cách triển khai ban đầu, toàn bộ logic trên được nhúng trực tiếp vào nhiều measure (YTD, MTD, hoặc theo các chiều phân tích như khu vực, khách hàng). Cách tiếp cận này dẫn đến hai hệ quả chính:
📈 Gia tăng mức độ dư thừa logic (redundancy)
⚠️ Làm suy giảm tính nhất quán khi có sự thay đổi trong quy tắc nghiệp vụ

👉 Giải pháp được đề xuất:
Tách biệt phần logic cốt lõi thành một function, đóng vai trò như một UDF.
Các measure còn lại chỉ thay đổi ngữ cảnh tính toán (evaluation context), chẳng hạn như áp dụng time intelligence hoặc filter context, và tái sử dụng kết quả từ function này.


🏗️ Ý nghĩa về mặt kiến trúc mô hình

Cách tiếp cận này cho phép phân tách rõ ràng giữa hai thành phần:
🧠 Business logic: xác định bản chất và quy tắc tính toán của chỉ số
🔄 Calculation logic: cách thức áp dụng ngữ cảnh để phục vụ mục đích phân tích

✨ Sự phân tách này mang lại nhiều lợi ích:
🔁 Giảm sự trùng lặp trong biểu thức DAX
🎯 Đảm bảo tính nhất quán xuyên suốt các báo cáo
🚀 Nâng cao khả năng bảo trì và mở rộng của mô hình dữ liệu


🎯 Tóm lại

UDF trong Power BI nên được xem như một nguyên lý thiết kế hơn là một tính năng cụ thể.
Việc áp dụng hiệu quả nguyên lý này góp phần xây dựng các mô hình dữ liệu có tính nhất quán và bền vững trong các hệ thống báo cáo phân tích.

🚨 ĐỪNG ĐỂ USER LÀ NGƯỜI ĐẦU TIÊN PHÁT HIỆN MEASURE CỦA BẠN BỊ SAI! 😱 Cảm giác “thót tim” nhất của một Power BI Developer...
20/05/2026

🚨 ĐỪNG ĐỂ USER LÀ NGƯỜI ĐẦU TIÊN PHÁT HIỆN MEASURE CỦA BẠN BỊ SAI!

😱 Cảm giác “thót tim” nhất của một Power BI Developer là gì? Là khi bạn bàn giao Dashboard cực đẹp, nhưng User chỉ vào một con số và hỏi:
💬 “Sao số này không khớp với Excel của chị?”

Viết DAX cho chạy được thì dễ, nhưng viết sao cho đúng Business Logic của User lại là một bài toán khác.
Dưới đây là 4 bước “kiểm chứng thép” mà mình luôn áp dụng để chắc chắn Measure mình tạo ra là chuẩn xác:


🔹 1. Chia nhỏ để trị với Variables (VAR)
Thay vì viết một Measure dài dằng dặc, hãy chia nhỏ nó ra bằng các biến VAR.
💡 Mẹo: Bạn có thể tạm thời thay đổi lệnh RETURN để trả về kết quả của từng biến trung gian. Nếu bước 1 đúng, bước 2 mới có hy vọng đúng.

🔍 2. “Mổ xẻ” bằng Table Visual
Đừng chỉ nhìn vào một con số tổng (Total) trên Card Visual.
• Hãy tạo một trang nháp, kéo Measure đó vào một Table Visual cùng với tất cả các Dimension liên quan (Sản phẩm, Thời gian, Khu vực…).
• Việc quan sát con số ở mức độ chi tiết nhất (Row level) sẽ giúp bạn phát hiện ra lỗi Filter Context hoặc lỗi trùng lặp dữ liệu (Double counting) ngay lập tức.

📊 3. Cầu nối “Analyze in Excel”
Hãy nhớ: Excel là ngôn ngữ chung của dân kinh doanh.
• Sử dụng tính năng Analyze in Excel để đẩy Dataset lên Pivot Table. Hãy thử tái lập lại con số đó bằng cách kéo thả thủ công. Nếu kết quả Measure trong Power BI khớp với Pivot Table, bạn đã vượt qua được 90% thử thách.

⚠️ 4. Test các kịch bản “Dữ liệu xấu” (Edge Cases)
Logic của User thường dựa trên kịch bản lý tưởng, nhưng dữ liệu thì không. Hãy tự đặt câu hỏi:
• Measure sẽ hiện gì nếu tháng đó không có doanh thu? (0 hay Blank?)
• Phần trăm tăng trưởng sẽ ra sao nếu mẫu số bằng 0?
• Các hàm Time Intelligence (YTD, Prior Year) có chạy đúng vào ngày đầu năm tài chính không?
(ảnh đính kèm)

📌 Cách mình sử dụng VAR để kiểm tra logic từng bước và đối chiếu trực tiếp trên Table Visual để đảm bảo tính chính xác ở mọi cấp độ dữ liệu).


🎯 Lời kết:
Một Dashboard đẹp mà số sai thì chỉ là một “bức tranh” không giá trị. Sự tỉ mỉ trong khâu kiểm chứng chính là điều tạo nên sự khác biệt của một DAX Developer.

💬 Anh em trong cộng đồng Power BI thường dùng “chiêu” nào để check số với User? Chia sẻ cho mình học hỏi với nhé! 👇

❓ Bạn nghĩ AI chưa thay được DA vì lý do gì? Cứ mỗi lần chủ đề “AI có nuốt chửng Data Analyst không” nổi lên, mình thấy ...
07/05/2026

❓ Bạn nghĩ AI chưa thay được DA vì lý do gì?

Cứ mỗi lần chủ đề “AI có nuốt chửng Data Analyst không” nổi lên, mình thấy cộng đồng DA lại tập hợp nhau:
💭 “Không lo, mình có tư duy phản biện!”
💭 “Mình hiểu business context!”
💭 “AI không làm được đâu!”

Đúng. Nhưng thật ra một trong những lý do AI chưa thay được mình… không hào hùng đến vậy. Không phải vì mình thông minh hơn. Mà vì data ở hầu hết công ty đang ở trạng thái mà chính AI nhìn vào cũng phải hỏi:
🤖 “Ủa, đây là gì vậy?”


📂 Cột “Tên khách hàng” có 4 kiểu format, viết hoa viết thường tuỳ hứng.
📅 Cột ngày tháng lưu dạng text vì “anh ấy nhập tay từ 2020”.
💰 Hai bảng cùng tên cột “revenue” nhưng một bảng tính trước VAT, một bảng sau VAT — không ai để lại ghi chú.
📁 Và dĩ nhiên, file tên “final_FINAL_v3_dùng cái này nha.xlsx” vẫn không phải bản cuối.


Data của chúng ta không xấu vì thiếu công nghệ. Nó hơi không ổn vì nó là sản phẩm của con người — với deadline gấp ⏱️, với “tạm nhập vậy rồi sửa sau”, với 5 team dùng chung 1 hệ thống nhưng không ai thống nhất định nghĩa.


🤖 AI cần data sạch, có cấu trúc, nhất quán để hoạt động tốt.
👩‍💻 Còn người DA — ngồi trong những cuộc họp tạo ra mớ hỗn độn đó — mới hiểu tại sao và cần dọn từ đâu.


🎯 Muốn AI làm thay DA? Hãy fix data governance trước — tức là quy định rõ:
• Ai nhập data
• Nhập theo chuẩn nào
• “revenue” của team Sales và team Finance đang tính khác nhau ở chỗ nào


😄 Đến lúc đó… thì DA cũng đã chuyển sang làm việc khác rồi.
Việc mà AI lại chưa với tới được.

🔄 Vòng lặp này vui phết.

04/05/2026

Building a strong foundation in Data 🎯

Làm Data không chỉ là code hay tool — mà là sự kết hợp của nhiều “mảnh ghép”:
🔹 Hard skills: SQL, Python, Data Visualization, Cloud
🔹 Soft skills: Tư duy, giao tiếp, teamwork, adaptability
🔹 Business/Domain knowledge: hiểu bài toán trước khi giải
🔹 English: để học nhanh hơn và đi xa hơn

Không cần giỏi tất cả ngay từ đầu — nhưng càng cân bằng được 4 yếu tố này, bạn càng đi nhanh và bền trong ngành Data.

🎥 Chia sẻ chi tiết hơn trong video bên dưới 👇

🤝 Teamwork không phải lúc nào cũng “mượt” 😆Có lúc hiểu nhau trong 1 nốt nhạc 🎶 Có lúc giải thích 3 lần vẫn lệch sóng 📡 C...
25/04/2026

🤝 Teamwork không phải lúc nào cũng “mượt” 😆

Có lúc hiểu nhau trong 1 nốt nhạc 🎶
Có lúc giải thích 3 lần vẫn lệch sóng 📡

Có lúc “để đó mình làm cho nhanh” ⚡
Nhưng cũng có lúc cùng nhau ngồi lại để cùng làm cho đúng 🧩

Ở TC DATA, teamwork không phải là không có vấn đề
Mà là có vấn đề… thì cùng nhau giải quyết 💚

Chỉ vậy thôi, nhưng đủ để đi với nhau lâu hơn một chút 🚀


🐛 Bug giống như chơi trốn tìm vậy 😆 Càng đi tìm → nó càng trốn Lúc không để ý → nó tự lòi ra Fix xong chỗ này → nó mọc c...
23/04/2026

🐛 Bug giống như chơi trốn tìm vậy 😆

Càng đi tìm → nó càng trốn
Lúc không để ý → nó tự lòi ra
Fix xong chỗ này → nó mọc chỗ khác 🌱

Có những hôm debug 2 tiếng không ra
Đi ăn trưa về mở lại… thấy ngay 👀

Lúc đó không biết nên vui hay nên buồn 🥲

Nhưng làm Data rồi mới hiểu:
bug không phải lúc nào cũng “khó”
chỉ là mình chưa nhìn đúng chỗ nó đang đứng.

Và nhiều khi…
thứ cần fix không phải là code
mà là cách mình hiểu vấn đề 💡

👉 Bạn đã từng có “con bug” nào ám ảnh chưa? kể nhau nghe đi nè😆


Trong vài năm gần đây, AI không còn là “nice-to-have” mà đang trở thành một phần thiết yếu trong workflow của những ngườ...
17/04/2026

Trong vài năm gần đây, AI không còn là “nice-to-have” mà đang trở thành một phần thiết yếu trong workflow của những người làm dữ liệu. Tuy nhiên, câu hỏi lớn nhất vẫn luôn là:
👉 Làm sao tận dụng AI mà không làm lộ thông tin nhạy cảm của doanh nghiệp?
Dưới đây là cách mình đang áp dụng AI theo hướng tự động hóa – kiểm soát – an toàn trong công việc hàng ngày:

🔹 1. Tự động hóa các tác vụ lặp lại
AI rất mạnh trong việc xử lý những công việc tốn thời gian như:
• Viết/optimize SQL query
• Generate DAX/Power BI measures
• Chuẩn hóa naming convention
• Documentation (mô tả bảng, cột, business logic)
👉 Thay vì viết từ đầu, mình dùng AI để draft nhanh, sau đó review & chỉnh lại theo context thực tế.

🔹 2. Tăng tốc phân tích & khám phá dữ liệu
AI hỗ trợ:
• Gợi ý insight từ dataset
• Đề xuất hướng phân tích (trend, anomaly, segmentation)
• Generate hypothesis để kiểm tra
💡 Quan trọng: chỉ dùng metadata hoặc sample data đã được anonymize, không bao giờ đưa raw data nhạy cảm vào.

🔹 3. Chuẩn hóa quy trình (Standardization)
AI có thể giúp tạo:
• Template cho ETL / ELT pipelines
• Checklist kiểm tra data quality
• Format chuẩn cho dashboard / report
👉 Điều này giúp team làm việc nhất quán hơn, giảm phụ thuộc vào từng cá nhân.

🔹 4. Hỗ trợ debug & troubleshooting
Khi gặp lỗi:
• Query không chạy
• Pipeline fail
• Data mismatch
AI có thể giúp phân tích nhanh nguyên nhân và đề xuất hướng xử lý.
⏱️ Tiết kiệm rất nhiều thời gian so với việc tự mò từng bước.

🔐 5. Nguyên tắc quan trọng: Không đánh đổi bảo mật
Đây là phần mình luôn đặt lên hàng đầu:
• Không input dữ liệu thật của khách hàng vào AI public
• Mask / anonymize dữ liệu trước khi sử dụng
• Chỉ dùng AI cho logic, không dùng cho dữ liệu nhạy cảm
• Ưu tiên AI nội bộ hoặc môi trường kiểm soát được

🎯 Kết luận
AI không thay thế người làm dữ liệu, nhưng giúp chúng ta:
• Làm nhanh hơn
• Làm chuẩn hơn
• Và tập trung nhiều hơn vào business value thay vì task lặp lại
👉 Nếu dùng đúng cách, AI sẽ giống như một “data assistant” cực kỳ hiệu quả - đồng thời vẫn nằm trong tầm kiểm soát của bạn.

Address

Floor 9, Victory Tower, 12 Tan Trao, Tan Phu Ward, District 7
Ho Chi Minh City
700000

Alerts

Be the first to know and let us send you an email when TC Data posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share