Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.
Biểu thức Phân tích Dữ liệu (DAX) trong PowerPivot

Biểu thức Phân tích Dữ liệu (DAX) có vẻ hơi đáng sợ lúc đầu, nhưng đừng để tên lừa bạn. Thông tin cơ bản về DAX thực sự khá dễ hiểu. Những việc đầu tiên - DAX KHÔNG phải là ngôn ngữ lập trình. DAX là một ngôn ngữ công thức. Bạn có thể sử dụng DAX để xác định tính toán tùy chỉnh cho Cột được Tính và cho Thước đo (còn được gọi là trường tính toán). DAX bao gồm một số hàm được dùng trong công thức Excel và các hàm bổ sung được thiết kế để hoạt động với dữ liệu quan hệ và thực hiện tổng hợp động.

Tìm hiểu về Công thức DAX

Các công thức DAX rất giống với công Excel thức. Để tạo dấu bằng, bạn hãy nhập dấu bằng, tiếp theo là tên hàm hoặc biểu thức và mọi giá trị hoặc tham đối bắt buộc. Giống như Excel, DAX cung cấp nhiều hàm khác nhau mà bạn có thể sử dụng để làm việc với các chuỗi, thực hiện tính toán bằng cách sử dụng ngày và giờ hoặc tạo các giá trị có điều kiện.

Tuy nhiên, các công thức DAX khác nhau theo những cách quan trọng sau đây:

  • Nếu bạn muốn tùy chỉnh tính toán trên cơ sở từng hàng, DAX bao gồm các hàm cho phép bạn sử dụng giá trị hàng hiện tại hoặc giá trị liên quan để thực hiện các phép tính thay đổi theo ngữ cảnh.

  • DAX bao gồm một loại hàm trả về bảng kết quả của nó, chứ không phải là một giá trị duy nhất. Các hàm này có thể được sử dụng để cung cấp đầu vào cho các hàm khác.

  • Hàm Tuệ Giờ trong DAX cho phép tính toán sử dụng phạm vi ngày và so sánh các kết quả trong các giai đoạn song song.

Nơi Sử dụng Công thức DAX

Bạn có thể tạo công thức trong Power Pivot trong các hình bầu dục được tính hoặc trong cácfelds được tính.

Cột được Tính toán

Cột được tính là cột mà bạn thêm vào bảng hiện Power Pivot. Thay vì dán hoặc nhập các giá trị trong cột, bạn tạo công thức DAX xác định giá trị cột. Nếu bạn đưa bảng Power Pivot bảng vào PivotTable (hoặc PivotChart), cột được tính có thể được dùng như bạn làm với bất kỳ cột dữ liệu nào khác.

Công thức trong các cột tính toán rất giống với công thức mà bạn tạo trong Excel. Tuy nhiên, Excel bạn không thể tạo công thức khác cho các hàng khác nhau trong bảng; thay vào đó, công thức DAX được tự động áp dụng cho toàn bộ cột.

Khi cột chứa công thức, giá trị được tính cho từng hàng. Kết quả sẽ được tính toán cho cột ngay khi bạn tạo công thức. Giá trị cột chỉ được tính toán lại nếu dữ liệu cơ sở được làm mới hoặc nếu tính năng tính toán lại theo cách thủ công được sử dụng.

Bạn có thể tạo các cột được tính toán dựa trên số đo và các cột được tính khác. Tuy nhiên, tránh sử dụng cùng tên cho cột được tính và số đo vì điều này có thể dẫn đến kết quả nhầm lẫn. Khi tham chiếu đến một cột, tốt nhất là nên sử dụng tham chiếu cột đủ điều kiện, để tránh vô tình gọi số đo.

Để biết thêm thông tin chi tiết, hãy xem Cột được Tính trong Power Pivot.

Giá trị đo

Số đo là công thức được tạo riêng để sử dụng trong PivotTable (hay PivotChart) sử dụng dữ Power Pivot dữ liệu. Các số đo có thể được dựa trên các hàm tổng hợp tiêu chuẩn, chẳng hạn như COUNT hoặc SUM, hoặc bạn có thể xác định công thức của riêng mình bằng cách sử dụng DAX. Một số đo được sử dụng trong khu vực Giá trị của PivotTable. Nếu bạn muốn đặt kết quả được tính toán trong một khu vực khác của PivotTable, thay vào đó hãy sử dụng một cột được tính.

Khi bạn xác định một công thức cho một số đo rõ ràng, không có điều gì xảy ra cho đến khi bạn thêm số đo vào PivotTable. Khi bạn thêm số đo, công thức sẽ được định trị cho mỗi ô trong vùng Giá trị của PivotTable. Vì kết quả được tạo cho mỗi kết hợp tiêu đề hàng và cột nên kết quả cho thước đo có thể khác nhau trong mỗi ô.

Định nghĩa của phép đo bạn tạo được lưu với bảng dữ liệu nguồn của nó. Nó xuất hiện trong danh sách Trường PivotTable và sẵn dùng cho tất cả người dùng của sổ làm việc.

Để biết thêm thông tin chi tiết, hãy xem Số đo trong Power Pivot.

Tạo Công thức bằng cách Sử dụng Thanh Công thức

Power Pivot, chẳng hạn như Excel, cung cấp một thanh công thức để giúp bạn dễ dàng hơn khi tạo và sửa công thức, cũng như chức năng Tự động Hoàn tất, để giảm thiểu lỗi gõ nhập và cú pháp.

Để nhập tên bảng   Bắt đầu nhập tên bảng. Tự động Hoàn tất Công thức cung cấp một danh sách thả xuống chứa các tên hợp lệ bắt đầu bằng các chữ cái đó.

Để nhập tên cột   Nhập dấu ngoặc vuông, rồi chọn cột từ danh sách cột trong bảng hiện tại. Đối với cột từ một bảng khác, bắt đầu nhập chữ cái đầu tiên của tên bảng, rồi chọn cột từ danh sách thả xuống Tự động Hoàn tất.

Để biết thêm chi tiết và hướng dẫn về cách xây dựng công thức, hãy xem Tạo Công thức cho Phép tính trong Power Pivot.

Mẹo để Sử dụng tự động hoàn tất

Bạn có thể dùng Tự động Hoàn tất Công thức ở giữa công thức hiện có với các hàm lồng vào. Văn bản ngay trước điểm chèn được dùng để hiển thị các giá trị trong danh sách thả xuống và tất cả văn bản sau điểm chèn sẽ không thay đổi.

Tên đã xác định mà bạn tạo cho hằng số không hiển thị trong danh sách thả xuống Tự động Hoàn thành, nhưng bạn vẫn có thể nhập chúng.

Power Pivot thêm dấu đóng ngoặc đơn cho các hàm hoặc tự động khớp với các dấu ngoặc đơn. Bạn nên đảm bảo rằng mỗi hàm đều chính xác về mặt cú pháp hoặc bạn không thể lưu hay sử dụng công thức. 

Dùng Nhiều Hàm trong một Công thức

Bạn có thể lồng các hàm, nghĩa là bạn sử dụng kết quả từ một hàm làm đối số của hàm khác. Bạn có thể lồng tối đa 64 mức hàm vào các cột được tính toán. Tuy nhiên, việc lồng có thể khiến việc tạo hoặc khắc phục sự cố công thức trở nên khó khăn.

Nhiều hàm DAX được thiết kế để chỉ được sử dụng làm hàm lồng. Các hàm này sẽ trả về một bảng không thể được lưu trực tiếp; nó nên được cung cấp dưới dạng đầu vào cho một hàm bảng. Ví dụ, tất cả các hàm SUMX, AVERAGEX và MINX đều yêu cầu bảng làm đối số đầu tiên.

Lưu ý: Một số giới hạn về lồng hàm tồn tại trong các số đo, để đảm bảo rằng hiệu năng không bị ảnh hưởng bởi nhiều phép tính được yêu cầu bởi sự phụ thuộc giữa các cột.

So sánh các Hàm DAX và hàm Excel tính

Thư viện hàm DAX dựa trên thư viện Excel hàm của bạn nhưng các thư viện có nhiều khác biệt. Mục này tóm tắt sự khác nhau và tương tự giữa các Excel hàm và hàm DAX.

  • Nhiều hàm DAX có cùng tên và cùng một hành vi chung như hàm Excel nhưng đã được sửa đổi để có các kiểu đầu vào khác nhau và trong một số trường hợp, có thể trả về kiểu dữ liệu khác. Thông thường, bạn không thể sử dụng các hàm DAX trong công thức Excel hoặc sử dụng các Excel thức trong cơ Power Pivot sửa đổi nào đó.

  • Các hàm DAX không bao giờ lấy tham chiếu ô hoặc dải ô làm tham chiếu, nhưng thay vào đó các hàm DAX lấy một cột hoặc bảng làm tham chiếu.

  • Hàm ngày và giờ daX trả về kiểu dữ liệu ngày giờ. Ngược lại, Excel ngày và giờ trả về số nguyên đại diện cho ngày dưới dạng số sê-ri.

  • Nhiều hàm DAX mới hoặc trả về bảng giá trị hoặc thực hiện tính toán dựa trên bảng giá trị làm dữ liệu đầu vào. Ngược lại, Excel hàm nào trả về bảng nhưng một số hàm có thể hoạt động với mảng. Khả năng dễ dàng tham chiếu đến toàn bộ bảng và cột là một tính năng mới trong Power Pivot.

  • DAX cung cấp các hàm tra cứu mới tương tự như hàm mảng và vector tra cứu trong Excel. Tuy nhiên, các hàm DAX yêu cầu thiết lập mối quan hệ giữa các bảng.

  • Dữ liệu trong một cột dự kiến sẽ luôn có cùng kiểu dữ liệu. Nếu dữ liệu không cùng kiểu, DAX thay đổi toàn bộ cột thành kiểu dữ liệu phù hợp nhất với tất cả các giá trị.

Kiểu Dữ liệu DAX

Bạn có thể nhập dữ liệu vào mô Power Pivot dữ liệu từ nhiều nguồn dữ liệu khác nhau có thể hỗ trợ các kiểu dữ liệu khác nhau. Khi bạn nhập hoặc tải dữ liệu, rồi sử dụng dữ liệu trong các phép tính hoặc trong PivotTable, dữ liệu sẽ được chuyển đổi thành một trong các kiểu dữ Power Pivot của mình. Để biết danh sách các kiểu dữ liệu, hãy xem Kiểu dữ liệu trong Mô hình Dữ liệu.

Kiểu dữ liệu bảng là kiểu dữ liệu mới trong DAX được sử dụng làm đầu vào hoặc đầu ra cho nhiều hàm mới. Ví dụ: hàm FILTER nhận một bảng làm dữ liệu đầu vào và kết quả của một bảng khác chỉ chứa những hàng đáp ứng các điều kiện lọc. Bằng cách kết hợp các hàm bảng với hàm tổng hợp, bạn có thể thực hiện tính toán phức tạp trên tập dữ liệu được xác định linh động. Để biết thêm thông tin, hãy xem Tổng hợp trong Power Pivot.

Công thức và Mô hình Quan hệ

Cửa sổ Power Pivot là một khu vực nơi bạn có thể làm việc với nhiều bảng dữ liệu và kết nối các bảng trong một mô hình quan hệ. Trong mô hình dữ liệu này, các bảng được kết nối với nhau bằng mối quan hệ, cho phép bạn tạo mối tương quan với các cột trong bảng khác và tạo ra các phép tính thú vị hơn. Ví dụ, bạn có thể tạo các công thức tính tổng các giá trị cho một bảng có liên quan, rồi lưu giá trị đó trong một ô đơn. Hoặc để điều khiển các hàng từ bảng có liên quan, bạn có thể áp dụng bộ lọc cho bảng và cột. Để biết thêm thông tin, hãy xem Mối quan hệ giữa các bảng trong Mô hình Dữ liệu.

Vì bạn có thể nối kết các bảng bằng cách dùng các mối quan hệ, PivotTable của bạn cũng có thể bao gồm dữ liệu từ nhiều cột từ các bảng khác nhau.

Tuy nhiên, vì công thức có thể làm việc với toàn bộ bảng và cột nên bạn cần thiết kế các phép tính khác với tính toán Excel.

  • Nhìn chung, công thức DAX trong cột luôn được áp dụng cho toàn bộ tập hợp giá trị trong cột (không bao giờ chỉ cho một vài hàng hoặc ô).

  • Bảng trong Power Pivot phải luôn có cùng số cột trong mỗi hàng và tất cả các hàng trong cột phải chứa cùng kiểu dữ liệu.

  • Khi các bảng được kết nối bằng một mối quan hệ, bạn dự kiến sẽ đảm bảo rằng hai cột được sử dụng làm khóa có giá trị khớp, trong hầu hết các phần. Vì Power Pivot bắt buộc tính toàn vẹn tham chiếu, bạn vẫn có thể có các giá trị không khớp trong cột khóa mà vẫn tạo mối quan hệ. Tuy nhiên, sự hiện diện của các giá trị trống hoặc không khớp có thể ảnh hưởng đến kết quả của công thức và sự xuất hiện của PivotTable. Để biết thêm thông tin, hãy xem Tra cứu trong Công thức Power Pivot.

  • Khi bạn nối kết các bảng bằng cách dùng các mối quan hệ, bạn sẽ phóng to phạm vi, hoặc ctại văn bản mà các công thức của bạn được đánh giá. Ví dụ: công thức trong PivotTable có thể bị ảnh hưởng bởi bất kỳ bộ lọc hoặc đầu đề cột và hàng nào trong PivotTable. Bạn có thể viết công thức tác động đến ngữ cảnh nhưng ngữ cảnh cũng có thể làm cho kết quả của bạn thay đổi theo cách thức mà bạn có thể không dự đoán trước được. Để biết thêm thông tin, hãy xem Ngữ cảnh trong Công thức DAX.

Cập nhật Kết quả của Công thức

Cấutrúcdữ liệu r và tính toán lại là hai thao tác riêng biệt nhưng có liên quan mà bạn cần hiểu rõ khi thiết kế mô hình dữ liệu chứa công thức phức tạp, lượng lớn dữ liệu hoặc dữ liệu thu được từ các nguồn dữ liệu ngoài.

Làm mới dữ liệu là quy trình cập nhật dữ liệu trong sổ làm việc của bạn với dữ liệu mới từ một nguồn dữ liệu bên ngoài. Bạn có thể làm mới dữ liệu theo cách thủ công ở những khoảng thời gian bạn chỉ định. Hoặc nếu bạn đã phát hành sổ làm việc đến một site SharePoint, bạn có thể lên lịch tự động làm mới từ các nguồn bên ngoài.

Tính toán lại là quy trình cập nhật kết quả của công thức để phản ánh mọi thay đổi cho chính công thức đó và phản ánh những thay đổi đó trong dữ liệu cơ sở. Việc tính toán lại có thể ảnh hưởng đến hiệu suất theo những cách sau đây:

  • Đối với cột được tính, kết quả của công thức phải luôn được tính toán lại cho toàn bộ cột, bất cứ khi nào bạn thay đổi công thức.

  • Đối với một số đo, kết quả của công thức không được tính toán cho đến khi thước đo được đặt trong ngữ cảnh của PivotTable hoặc PivotChart. Công thức cũng sẽ được tính toán lại khi bạn thay đổi bất kỳ đầu đề hàng hay cột nào ảnh hưởng đến bộ lọc trên dữ liệu hoặc khi bạn làm mới PivotTable theo cách thủ công.

Khắc phục sự cố công thức

Lỗi khi viết công thức

Nếu bạn gặp lỗi khi xác định công thức, công thức có thể chứa lỗi tương ứng ,lỗi báo động hoặclỗi tính toán.

Lỗi từ đồng nghĩa là cách dễ nhất để giải quyết. Các dấu này thường bao gồm dấu ngoặc đơn hoặc dấu phẩy bị thiếu. Để được trợ giúp về cú pháp của các hàm riêng lẻ, hãy xem Tham khảo Hàm DAX.

Kiểu lỗi khác xảy ra khi cú pháp đúng nhưng giá trị hoặc cột được tham chiếu không có ý nghĩa trong ngữ cảnh của công thức. Lỗi ngữ pháp và tính toán như vậy có thể là do bất kỳ vấn đề nào sau đây:

  • Công thức tham chiếu đến một cột, bảng hoặc hàm hiện không hiện có.

  • Có vẻ như công thức cho đúng nhưng khi công cụ dữ liệu lấy dữ liệu thì công thức phát hiện ra kiểu không khớp và báo lỗi.

  • Công thức truyền một số hoặc loại tham số sai đến một hàm.

  • Công thức tham chiếu đến một cột khác chứa lỗi và do đó giá trị của cột đó không hợp lệ.

  • Công thức tham chiếu đến một cột chưa được xử lý, nghĩa là nó có siêu dữ liệu nhưng không có dữ liệu thực sự để sử dụng cho tính toán.

Trong bốn trường hợp đầu tiên, DAX gắn cờ cho toàn bộ cột chứa công thức không hợp lệ. Trong trường hợp cuối cùng, DAX chuyển sang xám cột để cho biết rằng cột đang ở trạng thái chưa tiến hành.

Các kết quả không chính xác hoặc bất thường khi xếp hạng hoặc xếp thứ tự các giá trị cột

Khi xếp hạng hoặc xếp thứ tự cột có chứa giá trị NaN (Không phải Số), bạn có thể nhận được kết quả sai hoặc không mong muốn. Ví dụ, khi một phép tính chia 0 cho 0, kết quả NaN được trả về.

Điều này là do công cụ công thức thực hiện xếp thứ tự và xếp hạng bằng cách so sánh các giá trị số; tuy nhiên, không thể so sánh NaN với các số khác trong cột.

Để đảm bảo kết quả chính xác, bạn có thể sử dụng câu lệnh có điều kiện bằng cách dùng hàm IF để kiểm tra giá trị NaN và trả về giá trị số 0.

Tương thích với Mô hình Dạng bảng của Analysis Services và Chế độ Truy vấn Trực tiếp

Thông thường, các công thức DAX mà bạn xây dựng trong cơ Power Pivot hoàn toàn tương thích với các mô hình dạng bảng của Analysis Services. Tuy nhiên, nếu bạn di chuyển mô hình Power Pivot của mình sang một phiên bản Dịch vụ Phân tích, rồi triển khai mô hình trong chế độ Truy vấn Trực tiếp thì sẽ có một số hạn chế.

  • Một số công thức DAX có thể trả về các kết quả khác nhau nếu bạn triển khai mô hình trong chế độ Truy vấn Trực tiếp.

  • Một số công thức có thể gây ra lỗi xác thực khi bạn triển khai mô hình vào chế độ Truy vấn Trực tiếp, vì công thức chứa hàm DAX không được hỗ trợ đối với một nguồn dữ liệu có liên quan.

Để biết thêm thông tin, hãy xem hướng dẫn sử dụng tạo mô hình dạng bảng của Dịch vụ Phân tích trong SQL Server 2012 BooksOnline.

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ú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×