Applies ToExcel cho Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Power BI

Phần này cung cấp nối kết đến các ví dụ minh họa cách dùng công thức DAX trong các kịch bản sau đây.

  • Thực hiện tính toán phức tạp

  • Làm việc với văn bản và ngày tháng

  • Giá trị có điều kiện và kiểm tra lỗi

  • Sử dụng thời gian thông minh

  • Xếp hạng và so sánh các giá trị

Trong bài viết này

Bắt đầu

Hãy truy cập Wiki Trung tâm Tài nguyên DAX, nơi bạn có thể tìm thấy tất cả các loại thông tin về DAX bao gồm blog, mẫu, sách trắng và video được cung cấp bởi các chuyên gia hàng đầu trong ngành và Microsoft.

Kịch bản: Thực hiện tính toán phức tạp

Công thức DAX có thể thực hiện các tính toán phức tạp liên quan đến tổng hợp tùy chỉnh, lọc và sử dụng các giá trị có điều kiện. Phần này cung cấp các ví dụ về cách bắt đầu với tính toán tùy chỉnh.

Tạo tính toán tùy chỉnh cho PivotTable

CALCULATE và CALCULATETABLE là các hàm mạnh mẽ, linh hoạt giúp xác định các trường được tính toán. Các hàm này cho phép bạn thay đổi ngữ cảnh trong đó việc tính toán sẽ được thực hiện. Bạn cũng có thể tùy chỉnh loại phép toán tổng hợp hoặc toán học để thực hiện. Xem các chủ đề sau để biết ví dụ.

Áp dụng bộ lọc cho công thức

Ở hầu hết các vị trí mà hàm DAX nhận bảng làm đối số, bạn thường có thể truyền vào bảng đã lọc thay vào đó, bằng cách sử dụng hàm FILTER thay cho tên bảng hoặc bằng cách chỉ định biểu thức bộ lọc làm một trong các đối số của hàm. Các chủ đề sau đây cung cấp ví dụ về cách tạo bộ lọc và cách bộ lọc ảnh hưởng đến kết quả của công thức. Để biết thêm thông tin, hãy xem mục Lọc Dữ liệu trong Công thức DAX.

Hàm FILTER cho phép bạn chỉ định tiêu chí lọc bằng cách sử dụng biểu thức, trong khi các hàm khác được thiết kế đặc biệt để lọc các giá trị trống.

Loại bỏ các bộ lọc có chọn lọc để tạo tỷ lệ động

Bằng cách tạo bộ lọc động trong công thức, bạn có thể dễ dàng trả lời các câu hỏi như sau:

  • Đóng góp gì vào doanh số của sản phẩm hiện tại vào tổng doanh thu trong năm?

  • Bộ phận này đã đóng góp bao nhiêu vào tổng lợi nhuận trong tất cả các năm hoạt động, so với các bộ phận khác?

Công thức bạn sử dụng trong PivotTable có thể bị ảnh hưởng bởi ngữ cảnh PivotTable, nhưng bạn có thể thay đổi ngữ cảnh một cách có chọn lọc bằng cách thêm hoặc loại bỏ bộ lọc. Ví dụ trong chủ đề TẤT CẢ cho bạn biết cách thực hiện điều này. Để tìm tỷ lệ doanh số của một nhà bán lại cụ thể đối với doanh số của tất cả các nhà bán lại, bạn tạo một số đo tính toán giá trị cho ngữ cảnh hiện tại được chia cho giá trị cho ngữ cảnh ALL.

Chủ đề ALLEXCEPT cung cấp ví dụ về cách xóa có chọn lọc các bộ lọc trên công thức. Cả hai ví dụ sẽ hướng dẫn bạn cách kết quả thay đổi tùy thuộc vào thiết kế của PivotTable.

Để biết các ví dụ khác về cách tính toán tỷ lệ và tỷ lệ phần trăm, hãy xem các chủ đề sau đây:

Sử dụng một giá trị từ vòng lặp bên ngoài

Ngoài việc sử dụng các giá trị từ ngữ cảnh hiện tại trong các phép tính, DAX có thể sử dụng một giá trị từ một vòng lặp trước đó trong việc tạo ra một tập hợp các phép tính liên quan. Chủ đề sau đây cung cấp hướng dẫn về cách xây dựng công thức tham chiếu đến một giá trị từ vòng lặp bên ngoài. Hàm EARLIER hỗ trợ tối đa hai cấp độ vòng lặp lồng nhau.

Để tìm hiểu thêm về ngữ cảnh hàng và bảng liên quan cũng như cách sử dụng khái niệm này trong công thức, hãy xem Ngữ cảnh trong Công thức DAX.

Kịch bản: Làm việc với Văn bản và Ngày

Phần này cung cấp nối kết đến các chủ đề tham chiếu DAX chứa ví dụ về các kịch bản phổ biến liên quan đến làm việc với văn bản, trích xuất và soạn các giá trị ngày và thời gian hoặc tạo giá trị dựa trên một điều kiện.

Tạo cột khóa theo ghép nối

Power Pivot không cho phép các khóa tổng hợp; do đó, nếu bạn có các khóa tổng hợp trong nguồn dữ liệu, bạn có thể cần kết hợp chúng thành một cột khóa duy nhất. Chủ đề sau đây cung cấp một ví dụ về cách tạo cột được tính toán dựa trên khóa tổng hợp.

Soạn ngày dựa trên các phần ngày được trích xuất từ ngày tháng văn bản

Power Pivot sử dụng kiểu dữ liệu ngày/giờ SQL Server để làm việc với ngày; do đó, nếu dữ liệu ngoài của bạn chứa ngày tháng được định dạng khác -- ví dụ: nếu ngày của bạn được viết theo định dạng ngày theo vùng mà công cụ dữ liệu Power Pivot không nhận ra hoặc nếu dữ liệu của bạn sử dụng các khóa thay thế số nguyên -- bạn có thể cần sử dụng công thức DAX để trích xuất các phần ngày, rồi soạn các phần thành một bản trình bày ngày/giờ hợp lệ.

Ví dụ: nếu bạn có một cột ngày tháng đã được biểu thị là số nguyên và sau đó được nhập dưới dạng chuỗi văn bản, bạn có thể chuyển đổi chuỗi đó thành giá trị ngày/giờ bằng cách sử dụng công thức sau đây:

=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))

Value1

Kết quả

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Các chủ đề sau đây cung cấp thêm thông tin về các hàm được sử dụng để trích xuất và soạn ngày.

Xác định định dạng ngày hoặc số tùy chỉnh

Nếu dữ liệu của bạn chứa ngày hoặc số không được thể hiện ở một trong các định dạng văn bản Windows tiêu chuẩn, bạn có thể xác định định dạng tùy chỉnh để đảm bảo rằng các giá trị được xử lý chính xác. Những định dạng này được sử dụng khi chuyển đổi giá trị thành chuỗi hoặc từ chuỗi. Các chủ đề sau đây cũng cung cấp danh sách chi tiết các định dạng được xác định trước sẵn dùng để làm việc với ngày và số.

Thay đổi kiểu dữ liệu bằng công thức

Trong Power Pivot, kiểu dữ liệu của đầu ra được xác định bởi các cột nguồn và bạn không thể chỉ định rõ ràng kiểu dữ liệu của kết quả, vì kiểu dữ liệu tối ưu được xác định bởi Power Pivot. Tuy nhiên, bạn có thể sử dụng các chuyển đổi loại dữ liệu ngầm được thực hiện bởi Power Pivot để thao tác với kiểu dữ liệu đầu ra. 

  • Để chuyển đổi ngày hoặc chuỗi số thành số, nhân với 1,0. Ví dụ, công thức sau đây tính toán ngày hiện tại trừ 3 ngày, rồi xuất ra giá trị số nguyên tương ứng.

    =(TODAY()-3)*1,0

  • Để chuyển đổi giá trị ngày, số hoặc tiền tệ thành chuỗi, hãy ghép nối giá trị đó với chuỗi trống. Ví dụ: công thức sau đây trả về ngày hôm nay dưới dạng chuỗi.

    =""& TODAY()

Các hàm sau đây cũng có thể được sử dụng để đảm bảo rằng một kiểu dữ liệu cụ thể được trả về:

Chuyển đổi số thực thành số nguyên

Kịch bản: Giá trị có Điều kiện và Kiểm tra Lỗi

Giống như Excel, DAX có các hàm cho phép bạn kiểm tra giá trị trong dữ liệu và trả về một giá trị khác dựa trên điều kiện. Ví dụ: bạn có thể tạo cột được tính toán để gắn nhãn cho người bán lại dưới dạng Ưu tiên hoặc Giá trị tùy thuộc vào doanh số hàng năm. Các hàm kiểm tra giá trị cũng hữu ích cho việc kiểm tra phạm vi hoặc kiểu giá trị, để ngăn các lỗi dữ liệu không mong muốn phá vỡ tính toán.

Tạo giá trị dựa trên điều kiện

Bạn có thể sử dụng các điều kiện IF lồng nhau để kiểm tra giá trị và tạo ra các giá trị mới theo điều kiện. Các chủ đề sau đây chứa một số ví dụ đơn giản về các giá trị có điều kiện và xử lý có điều kiện:

Kiểm tra lỗi trong công thức

Không giống như Excel, bạn không thể có các giá trị hợp lệ trong một hàng của cột được tính và các giá trị không hợp lệ trong một hàng khác. Nghĩa là, nếu có lỗi trong bất kỳ phần nào của cột Power Pivot, toàn bộ cột sẽ được gắn cờ với lỗi, do đó bạn phải luôn sửa lỗi công thức dẫn đến giá trị không hợp lệ.

Ví dụ: nếu bạn tạo công thức chia cho không, bạn có thể nhận được kết quả vô cực hoặc lỗi. Một số công thức cũng sẽ không thành công nếu hàm gặp phải giá trị trống khi mong đợi giá trị số. Trong khi bạn đang phát triển mô hình dữ liệu của mình, tốt nhất là cho phép lỗi xuất hiện để bạn có thể bấm vào thông báo và khắc phục sự cố. Tuy nhiên, khi phát hành sổ làm việc, bạn nên kết hợp xử lý lỗi để ngăn không cho các giá trị không mong muốn khiến các phép tính không thành công.

Để tránh trả về lỗi trong cột được tính, bạn hãy sử dụng kết hợp hàm lô-gic và hàm thông tin để kiểm tra lỗi và luôn trả về giá trị hợp lệ. Các chủ đề sau đây cung cấp một số ví dụ đơn giản về cách thực hiện điều này trong DAX:

Kịch bản: Sử dụng Hiển thị Thời gian Thông minh

Hàm hiển thị thời gian thông minh DAX bao gồm các hàm giúp bạn truy xuất ngày tháng hoặc phạm vi ngày từ dữ liệu của mình. Sau đó, bạn có thể sử dụng những ngày hoặc phạm vi ngày đó để tính toán giá trị qua các khoảng thời gian tương tự. Hàm hiển thị thời gian thông minh cũng bao gồm các hàm làm việc với khoảng ngày tiêu chuẩn, để cho phép bạn so sánh các giá trị qua các tháng, năm hoặc quý. Bạn cũng có thể tạo công thức so sánh các giá trị cho ngày đầu tiên và cuối cùng của một kỳ đã xác định.

Để biết danh sách tất cả các hàm hiển thị thời gian thông minh, hãy xem Hàm Hiển thị Thời gian Thông minh (DAX). Để biết các mẹo về cách dùng ngày và giờ hiệu quả trong phân Power Pivot của bạn, hãy xem Ngày trong Power Pivot.

Tính toán doanh số tích lũy

Các chủ đề sau đây chứa các ví dụ về cách tính toán số dư đóng và mở. Ví dụ cho phép bạn tạo số dư đang chạy ở các khoảng thời gian khác nhau như ngày, tháng, quý hoặc năm.

So sánh các giá trị theo thời gian

Các chủ đề sau đây chứa các ví dụ về cách so sánh tổng trong các khoảng thời gian khác nhau. Khoảng thời gian mặc định được DAX hỗ trợ là tháng, quý và năm.

Tính một giá trị trong phạm vi ngày tùy chỉnh

Xem các chủ đề sau đây để biết ví dụ về cách truy xuất phạm vi ngày tùy chỉnh, chẳng hạn như 15 ngày đầu tiên sau khi bắt đầu khuyến mãi bán hàng.

Nếu bạn sử dụng hàm hiển thị thời gian thông minh để truy xuất tập hợp ngày tùy chỉnh, bạn có thể dùng tập hợp ngày đó làm dữ liệu đầu vào cho hàm thực hiện tính toán, để tạo tổng hợp tùy chỉnh qua các khoảng thời gian. Hãy xem chủ đề sau đây để biết ví dụ về cách thực hiện việc này:

  • Hàm PARALLELPERIOD

    Lưu ý: Nếu bạn không cần xác định phạm vi ngày tùy chỉnh nhưng đang làm việc với các đơn vị kế toán tiêu chuẩn như tháng, quý hoặc năm, chúng tôi khuyên bạn nên thực hiện tính toán bằng cách sử dụng các hàm hiển thị thời gian thông minh được thiết kế cho mục đích này, chẳng hạn như TOTALQTD, TOTALMTD, TOTALQTD, v.v.

Kịch bản: Xếp hạng và So sánh Giá trị

Để chỉ hiển thị số n mục trên cùng trong một cột hoặc PivotTable, bạn có một vài tùy chọn:

  • Bạn có thể sử dụng các tính năng trong Excel để tạo bộ lọc Trên cùng. Bạn cũng có thể chọn một số giá trị trên cùng hoặc dưới cùng trong PivotTable. Phần đầu tiên của mục này mô tả cách lọc 10 mục trên cùng trong PivotTable. Để biết thêm thông tin, hãy xem tài liệu Excel.

  • Bạn có thể tạo công thức tự động xếp hạng các giá trị, rồi lọc theo giá trị xếp hạng hoặc sử dụng giá trị xếp hạng làm Slicer. Phần thứ hai của mục này mô tả cách tạo công thức này, rồi dùng thứ hạng đó trong Slicer.

Có những ưu điểm và nhược điểm của mỗi phương pháp.

  • Bộ lọc Trên cùng của Excel rất dễ sử dụng, nhưng bộ lọc chỉ dành cho mục đích hiển thị. Nếu dữ liệu nằm dưới PivotTable thay đổi, bạn phải làm mới PivotTable theo cách thủ công để xem các thay đổi. Nếu bạn cần làm việc linh động với bảng xếp hạng, bạn có thể sử dụng DAX để tạo công thức so sánh các giá trị với các giá trị khác trong một cột.

  • Công thức DAX mạnh hơn; hơn nữa, bằng cách thêm giá trị xếp hạng vào slicer, bạn có thể chỉ cần bấm vào Slicer để thay đổi số lượng giá trị hàng đầu được hiển thị. Tuy nhiên, các tính toán là tính toán tốn kém và phương pháp này có thể không phù hợp với bảng có nhiều hàng.

Chỉ hiển thị mười mục hàng đầu trong PivotTable

Để hiển thị các giá trị trên cùng hoặc dưới cùng trong PivotTable

  1. Trong PivotTable, bấm vào mũi tên xuống trong đầu đề Nhãn Hàng.

  2. Chọn Bộ lọc Giá trị> 10 mục Trên cùng.

  3. Trong hộp thoại 10 Bộ lọc trên <tên> , hãy chọn cột để xếp hạng và số lượng giá trị, như sau:

    1. Chọn Trên cùng để xem các ô có giá trị cao nhất hoặc Dưới cùng để xem các ô có giá trị thấp nhất.

    2. Nhập số lượng giá trị trên cùng hoặc dưới cùng mà bạn muốn xem. Mặc định là 10.

    3. Chọn cách bạn muốn hiển thị các giá trị:

Tên

Mô tả

Mục

Chọn tùy chọn này để lọc PivotTable để chỉ hiển thị danh sách các mục trên cùng hoặc dưới cùng theo giá trị của chúng.

Percent

Chọn tùy chọn này để lọc PivotTable để chỉ hiển thị các mục lên đến tỷ lệ phần trăm đã xác định.

Sum

Chọn tùy chọn này để hiển thị tổng giá trị cho các mục trên cùng hoặc dưới cùng.

  1. Chọn cột có chứa các giá trị bạn muốn xếp hạng.

  2. Bấm vào OK.

Tự động sắp xếp các mục bằng cách sử dụng công thức

Chủ đề sau đây chứa ví dụ về cách sử dụng DAX để tạo xếp hạng được lưu trữ trong cột được tính toán. Vì các công thức DAX được tính toán tự động, bạn luôn có thể đảm bảo rằng xếp hạng là chính xác ngay cả khi dữ liệu cơ sở đã thay đổi. Ngoài ra, vì công thức được sử dụng trong một cột được tính, bạn có thể sử dụng xếp hạng trong Slicer, rồi chọn 5 giá trị hàng đầu, 10 vị trí hàng đầu hoặc thậm chí là 100 giá trị hàng đầu.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.