Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Trong quá trình xử lý và phân tích dữ liệu bằng DAX trong Power BI, phép chia là một trong những tác vụ cơ bản và thường xuyên nhất. Tuy nhiên, nếu không xử lý khéo léo, bạn rất dễ gặp phải lỗi chia cho 0 khiến báo cáo bị lỗi hiển thị. Để giải quyết triệt để vấn đề này, hàm DIVIDE trong Power BI được sinh ra như một giải pháp tối ưu và an toàn nhất. Bài viết này, Starttrain sẽ giúp bạn hiểu rõ từ cú pháp, cách hoạt động cho đến các ví dụ thực tế trực quan từ một báo cáo doanh thu thực tế.
Hàm DIVIDE trong Power BI là một hàm toán học và lượng giác thuộc ngôn ngữ DAX, được thiết kế chuyên biệt để thực hiện phép chia giữa hai biểu thức. Điểm ưu việt lớn nhất của hàm DIVIDE so với toán tử chia thông thường (dấu gạch chéo /) là khả năng tự động xử lý lỗi khi mẫu số bằng 0 hoặc rỗng (BLANK) một cách cực kỳ mượt mà.Cú pháp chuẩn của hàm DIVIDE trong DAX như sau:
DIVIDE(Numerator, Denominator [, AlternateResult])
Giải thích chi tiết các tham số
Nhiều người mới bắt đầu thường sử dụng toán tử gạch chéo ” / ” để làm phép chia. Tuy nhiên, các chuyên gia phân tích dữ liệu luôn khuyên dùng hàm DIVIDE vì các lý do sau đây:
Dưới đây là bảng so sánh trực quan giữa hai phương pháp này:
| Tiêu chí | Sử dụng hàm DIVIDE | Sử dụng toán tử chia (/) |
| Xử lý khi mẫu số bằng 0 | Tự động trả về BLANK hoặc giá trị thay thế (AlternateResult) mà bạn thiết lập. | Trả về lỗi hiển thị hoặc các giá trị “Infinity”, “NaN” trên Dashboard. |
| Hiệu suất tính toán | Rất nhanh và tối ưu nhờ cơ chế xử lý lỗi tích hợp sâu trong công cụ DAX. | Chậm hơn nếu phải lồng thêm hàm IF để kiểm tra mẫu số có bằng 0 hay không. |
| Độ phức tạp của code | Code cực kỳ ngắn gọn, sạch đẹp và chuyên nghiệp. | Code phức tạp và dài dòng hơn khi cần bẫy lỗi chia cho 0. |
| Khuyên dùng | Sử dụng cho hầu hết mọi trường hợp tính toán tỷ lệ, doanh thu trung bình. | Chỉ nên dùng khi bạn chắc chắn 100% mẫu số không bao giờ bằng 0. |
Để giúp bạn hình dung trực quan, chúng ta hãy cùng phân tích một trường hợp thực tế: Tính toán chỉ số Giá trị đơn hàng trung bình – Average Order Value (AOV).
Như thể hiện trong thanh công thức ở ảnh chụp màn hình thứ nhất, chúng ta cần tạo một Measure mới có tên là Average Order Value (AOV) để tính giá trị trung bình của mỗi đơn hàng.
Công thức DAX được thiết lập chính xác như sau:
Average Order Value (AOV) = DIVIDE([Total Sales], [Total Orders], BLANK())

Phân tích các thành phần trong công thức thực tế:
Sau khi viết xong công thức, Measure này được lưu trữ trong bảng #MEASURE và được định dạng kiểu tiền tệ (Currency) với số thập phân bằng 0 (như hiển thị trên thanh công cụ Measure tools).
Sau khi tính toán thành công bằng hàm DIVIDE, chỉ số AOV sẽ được đưa lên màn hình Dashboard tương tác một cách trực quan như ở ảnh chụp màn hình thứ hai:

Mặc dù hàm DIVIDE rất mạnh mẽ và tiện lợi, bạn vẫn cần nắm lòng một số lưu ý kỹ thuật sau để làm chủ hoàn toàn công cụ này:
Trong nhiều báo cáo tài chính, việc để trống (BLANK) đôi khi khiến người xem hiểu lầm là hệ thống bị thiếu dữ liệu. Nếu bạn muốn hiển thị số 0 thay vì khoảng trống khi không có đơn hàng, hãy thay đổi tham số thứ ba:Average Order Value (AOV) = DIVIDE([Total Sales], [Total Orders], 0)
Lúc này, thay vì để trống, hệ thống sẽ hiển thị số 0 một cách rõ ràng trên các bảng số liệu.
Có một trường hợp ngoại lệ duy nhất bạn nên dùng toán tử ” / ” là khi bạn muốn cố tình nhận thông báo lỗi. Ví dụ: Trong giai đoạn kiểm thử chất lượng dữ liệu, bạn cần phát hiện ra các dòng dữ liệu bị lỗi chia cho 0 để xử lý từ nguồn chứ không muốn Power BI tự động che giấu lỗi đó đi.
Sau khi tạo Measure bằng hàm DIVIDE, hãy luôn kiểm tra lại định dạng hiển thị của cột (Formatting). Nếu kết quả là tỷ lệ phần trăm (như tỷ lệ chuyển đổi, tỷ lệ tăng trưởng), hãy chọn định dạng là Percentage (%). Nếu là giá trị tiền tệ như ví dụ trên, hãy định dạng là Currency kèm ký hiệu tiền tệ tương ứng.
Được, bạn hoàn toàn có thể trả về một chuỗi văn bản (Text) ở tham số thứ ba. Ví dụ: Average Order Value (AOV) = DIVIDE([Total Sales], [Total Orders], “Chưa có đơn hàng”) Tuy nhiên, cần lưu ý rằng nếu bạn trả về dạng chữ, định dạng của Measure đó sẽ chuyển thành dạng Text và bạn sẽ gặp khó khăn nếu muốn sử dụng Measure này làm đầu vào cho các biểu đồ dạng đường, cột (vốn chỉ nhận dữ liệu dạng số).
Điều này xảy ra do tham số thứ ba AlternateResult bị bỏ trống, hoặc bạn đã gán giá trị mặc định là BLANK(). Đây là hành vi hoàn toàn bình thường để giữ cho giao diện báo cáo sạch sẽ. Nếu bạn muốn hiển thị rõ số 0 để người xem dễ so sánh, hãy thay đổi tham số này thành số 0 như hướng dẫn ở trên.
Hàm DIVIDE trong Power BI không chỉ đơn thuần là công cụ thực hiện phép tính toán mà còn là giải pháp tối ưu giúp báo cáo của bạn chuyên nghiệp, sạch sẽ và mượt mà hơn. Bằng cách tự động xử lý các giá trị rỗng hoặc lỗi chia cho 0, hàm DIVIDE giúp bảo vệ giao diện Dashboard khỏi các lỗi hiển thị không mong muốn, nâng cao đáng kể trải nghiệm người dùng và tính chính xác của dữ liệu.

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official
Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.




