[DAX Tutorial] Cách sử dụng hàm Divide trong Excel

Khi làm việc với các tập dữ liệu lớn trong Excel thông qua công cụ Power Pivot hoặc Data Model, việc thực hiện phép chia là thao tác cực kỳ phổ biến. Tuy nhiên, nếu bạn chỉ sử dụng toán tử chia thông thường (/), bạn sẽ rất dễ gặp phải các lỗi chia cho 0 (Division by Zero – lỗi #INF/NaN hoặc #ERROR) làm hỏng toàn bộ bảng PivotTable của mình. Để giải quyết triệt để vấn đề này, Microsoft đã cung cấp hàm DIVIDE trong ngôn ngữ DAX.

Bài viết này, Starttrain sẽ hướng dẫn bạn chi tiết từ lý thuyết đến thực hành thực tế cách sử dụng hàm DIVIDE trong Excel Power Pivot chuẩn chuyên gia.

Hàm DIVIDE trong Excel là gì?

Hàm DIVIDE trong Excel không phải là một hàm bảng tính thông thường (như SUM, AVERAGE trên grid thông thường) mà là một hàm DAX được sử dụng trong môi trường Power Pivot và Power BI. Hàm này được thiết kế đặc biệt để thực hiện các phép chia một cách an toàn (thường được gọi là Safe Divide).

Cú pháp của hàm DIVIDE

Cú pháp chuẩn của hàm DIVIDE trong DAX như sau:

DIVIDE(numerator, denominator, [alternateresult])

Giải thích các tham số

  • numerator (Số bị chia): Biểu thức, giá trị hoặc cột chứa số bị chia. Có thể là một Measure đã được tính toán từ trước (ví dụ: [Total Revenue]).
  • denominator (Số chia): Biểu thức, giá trị hoặc cột chứa số chia.
  • alternateresult (Kết quả thay thế – Tùy chọn): Giá trị trả về khi phép chia bị lỗi hoặc khi số chia (denominator) bằng 0 hoặc trống (BLANK). Nếu bạn bỏ qua tham số này, hàm sẽ mặc định trả về giá trị trống BLANK().

Cơ chế hoạt động của hàm DIVIDE

Hàm DIVIDE sẽ tự động kiểm tra giá trị của số chia (denominator). Nếu số chia bằng 0 hoặc là một giá trị trống (BLANK), thay vì trả về lỗi như toán tử / thông thường, hàm sẽ ngay lập tức trả về giá trị mà bạn đã thiết lập ở phần alternateresult. Điều này giúp báo cáo của bạn luôn sạch sẽ, chuyên nghiệp và không bị gián đoạn bởi các ô lỗi.

Nếu bạn mới bắt đầu, nên tìm hiểu trước về Data Model trong Excel và cách xây dựng Measure bằng DAX để dễ dàng áp dụng các hàm nâng cao như DIVIDE.

Ví dụ cụ thể cách sử dụng hàm DIVIDE trong Excel

Mô hình Dữ liệu (Data Model)

Trước khi bắt đầu viết các công thức (Measure), chúng ta cần hiểu cấu trúc dữ liệu được liên kết trong Power Pivot.

Như được hiển thị trong công cụ Diagram View của Power Pivot:

  • Chúng ta có một hệ thống bảng liên kết với nhau theo dạng Star Schema (Mô hình sao).
  • Bảng Fact chính: OrderLine (chứa thông tin chi tiết từng dòng đơn hàng như Qty, UnitPrice, LineDiscount$, LineCost$, LineRevenue$) và Fulfillment (chứa tiến trình giao hàng).
  • Bảng Dimension phụ: Calendar (thời gian), Product (sản phẩm), Promotion (khuyến mãi), Returns (đơn trả hàng) và OrderHeader (thông tin chung của đơn hàng).
  • Các mối quan hệ 1 – nhiều (1 và *) được thiết lập chặt chẽ để dữ liệu có thể tương tác tự động.

hàm Divide trong Excel

Các chỉ số cơ bản

Từ mô hình dữ liệu trên, chúng ta đã xây dựng một PivotTable cơ bản hiển thị các chỉ số cốt lõi sau:

  • Total Customer (Tổng số khách hàng): 20.836 khách hàng.
  • Total Order (Tổng số đơn hàng): 45.000 đơn hàng.
  • Total Qty (Tổng số lượng sản phẩm bán ra): 328.035 sản phẩm.
  • Total Revenue (Tổng doanh thu): 44.837.769 USD.

hàm Divide trong Excel

Bây giờ, chúng ta sẽ ứng dụng hàm DIVIDE để tính toán thêm 3 chỉ số hiệu suất quan trọng (KPIs): AOV, Orders per Customer và Sales per Customer.

Ví dụ 1: Tính chỉ số AOV

Định nghĩa: AOV là số tiền trung bình mà khách hàng chi tiêu cho mỗi đơn hàng.

  • Công thức gốc: Doanh thu chia cho Số lượng đơn hàng.
  • Công thức DAX tương ứng: AOV = DIVIDE([Total Revenue], [Total Order], BLANK())

Các bước thực hiện chi tiết:

  • Trong giao diện Excel, chọn tab Power Pivot -> chọn Measures -> nhấn New Measure.
  • Thiết lập các thông số trong hộp thoại Measure:
    • Measure name: Điền AOV.
    • Formula: Nhập công thức: = DIVIDE([Total Revenue], [Total Order], BLANK())
    • Formatting Options: Chọn định dạng Number, định dạng phụ là Decimal Number và thiết lập Decimal places (Số thập phân) là 2.
  • Nhấn OK để lưu lại.

hàm Divide trong Excel

Kết quả thực tế:

Hệ thống tính toán cực kỳ nhanh chóng và hiển thị giá trị AOV trực tiếp trên PivotTable là 996.39. Phép tính này được thực hiện bằng cách lấy 44.837.769 chia cho 45.000. Nhờ tham số thứ ba là BLANK(), nếu hệ thống chưa phát sinh đơn hàng nào (Total Order bằng 0), ô kết quả sẽ tự động hiển thị khoảng trống thay vì báo lỗi.

hàm Divide trong Excel

Ví dụ 2: Tính chỉ số Orders per Customer

Định nghĩa: Chỉ số này đo lường tần suất mua sắm của khách hàng, cho biết trung bình một khách hàng sẽ thực hiện bao nhiêu đơn hàng trong kỳ báo cáo.

  • Công thức gốc: Số lượng đơn hàng chia cho Tổng số khách hàng.
  • Công thức DAX tương ứng: Orders per Customer = DIVIDE([Total Order], [Total Customer], BLANK())

Các bước thực hiện chi tiết:

  • Mở hộp thoại tạo Measure mới trong Power Pivot.
  • Điền các thông số kỹ thuật:
    • Measure name: Nhập Orders per Customer.
    • Formula: Nhập công thức: = DIVIDE([Total Order], [Total Customer], BLANK())
    • Formatting Options: Chọn định dạng Number -> Decimal Number -> Số thập phân lấy 2 chữ số.
  • Nhấn OK.

hàm Divide trong Excel

Kết quả thực tế:

Chỉ số Orders per Customer xuất hiện trên bảng PivotTable là 2.16. Phép chia an toàn lấy 45.000 đơn hàng chia cho 20.836 khách hàng diễn ra suôn sẻ, cho thấy trung bình một khách hàng đã quay lại mua sắm hơn 2 lần trong mùa lễ.

hàm Divide trong Excel

Ví dụ 3: Tính chỉ số Sales per Customer

Định nghĩa: Chỉ số này thể hiện giá trị trung bình mà một khách hàng đóng góp cho doanh nghiệp trong suốt chiến dịch.

  • Công thức gốc: Tổng doanh thu chia cho Tổng số khách hàng.
  • Công thức DAX tương ứng: Sales per Customer = DIVIDE([Total Revenue], [Total Customer], BLANK())

Các bước thực hiện chi tiết:

  • Nhấp tạo Measure mới từ thanh công cụ Power Pivot.
  • Cấu hình chi tiết:
    • Measure name: Đặt tên là Sales per Customer.
    • Formula: Sử dụng công thức = DIVIDE([Total Revenue], [Total Customer], BLANK())
    • Formatting Options: Định dạng hiển thị kiểu số thực (Decimal Number) lấy 2 chữ số sau dấu phẩy.
  • Nhấp OK để hoàn tất.

hàm Divide trong Excel

Kết quả thực tế:

Trên PivotTable của chúng ta lúc này đã xuất hiện đầy đủ cả 3 chỉ số mới (Hình 8). Giá trị Sales per Customer đạt được là 2151.94 USD (Lấy tổng doanh thu 44.837.769 chia cho 20.836 khách hàng).

hàm Divide trong Excel

Hàm DIVIDE khác gì với toán tử chia thông thường (/) trong Excel?

Nhiều người dùng Excel khi mới chuyển sang dùng Power Pivot hoặc Power BI thường thắc mắc: “Tại sao phải dùng hàm DIVIDE phức tạp trong khi tôi có thể dùng ký tự gạch chéo / để chia cho nhanh?”.

Để giải đáp thắc mắc này, hãy cùng xem bảng so sánh chi tiết dưới đây:

Tiêu chí so sánhHàm DIVIDE (DAX)Toán tử chia thông thường (/)
Xử lý lỗi chia cho 0 (Division by 0)Cực tốt. Tự động trả về giá trị thay thế (mặc định là BLANK()) nếu mẫu số bằng 0.Kém. Trả về mã lỗi hệ thống trực tiếp lên màn hình báo cáo (#INF hoặc lỗi tính toán).
Tính thẩm mỹ của báo cáoBáo cáo luôn hiển thị sạch sẽ, chuyên nghiệp, không xuất hiện các lỗi gây nhiễu thị giác cho người xem.Dễ xuất hiện các ô lỗi sọc đỏ/ký tự lạ khiến báo cáo trông thiếu chuyên nghiệp.
Hiệu năng xử lý (Performance)Tối ưu hóa sâu. Bộ máy DAX Engine của Microsoft đã tối ưu hóa hàm DIVIDE để xử lý hàng triệu dòng dữ liệu cực nhanh mà không làm chậm hệ thống.Để tránh lỗi, bạn thường phải bọc toán tử / trong hàm IF hoặc IFERROR. Cách này bắt buộc hệ thống phải quét dữ liệu 2 lần, làm giảm hiệu năng đáng kể đối với dữ liệu lớn.
Sự tiện lợi khi viết mãCông thức ngắn gọn: DIVIDE(A, B).Công thức cồng kềnh nếu muốn bọc lỗi: IF(B = 0, BLANK(), A / B).

Mặc dù toán tử / có tốc độ gõ nhanh hơn một chút, nhưng trong mọi dự án phân tích dữ liệu thực tế chuyên nghiệp, hàm DIVIDE luôn là lựa chọn hàng đầu được khuyến nghị. Nó giúp bạn tiết kiệm thời gian gõ các hàm bọc lỗi phức tạp, bảo vệ báo cáo khỏi những lỗi hiển thị không đáng có và tối ưu hiệu suất tính toán của CPU trên các tệp dữ liệu lớn lên đến hàng triệu bản ghi.

Tổng kết

Qua bài viết này, chúng ta đã cùng nhau tìm hiểu sâu về bản chất, cú pháp và cách ứng dụng thực tế của hàm DIVIDE trong Excel nhằm tối ưu hóa các mô hình dữ liệu lớn. Việc sử dụng hàm DIVIDE DAX trong Power Pivot không chỉ giúp bạn xử lý triệt để lỗi chia cho 0 Excel vốn rất phiền toái, mà còn là giải pháp hàng đầu để duy trì tính thẩm mỹ và chuyên nghiệp cho mọi báo cáo phân tích kinh doanh.

So với việc lạm dụng toán tử chia trong DAX kết hợp với các hàm bọc lỗi cồng kềnh, hàm DIVIDE mang lại khả năng vận hành mượt mà và tối ưu hiệu năng tính toán vượt trội trên hệ thống.

Tham khảo thêm: Khóa học phân tích dữ liệu bằng Excel tại Starttrain

Để lại một bình luận

Form - đọc sách
Form - Single Report Template

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.

Form Dashboard service