CUBEVALUE (Hàm CUBEVALUE)

Bài viết này mô tả cú pháp công thức và việc sử dụng hàm CUBEVALUE trong Microsoft Excel.

Mô tả

Trả về một giá trị tổng hợp từ khối.

Cú pháp

CUBEVALUE(connection, [member_expression1], [member_expression2], …)

Cú pháp hàm CUBEVALUE có các đối số sau đây:

  • Connection    Bắt buộc. Chuỗi văn bản tên của kết nối tới khối.

  • Member_expression    Tùy chọn. Một chuỗi văn bản biểu thức đa chiều (DMX) định trị một phần tử hoặc một bộ trong khối. Hoặc theo cách khác, biểu thức phần tử có thể là một tập hợp được xác định với hàm CUBESET. Hãy dùng biểu thức phần tử như một slicer để xác định phần của khối mà giá trị tổng hợp cho nó được trả về. Nếu không có số đo nào được xác định trong biểu thức phần tử, thì sẽ dùng số đo mặc định của khối đó.

Chú thích

  • Khi hàm CUBEVALUE định trị, nó tạm thời hiển thị thông báo "#ĐANG LẤY DỮ LIỆU…" trong ô cho đến khi đã truy xuất được tất cả dữ liệu.

  • Nếu tham chiếu ô được dùng cho biểu thức phần tử và tham chiếu ô đó có chứa hàm CUBE, thì biểu thức phần tử sử dụng biểu thức MDX cho mục trong ô được tham chiếu, chứ không phải là giá trị hiển thị trong ô được tham chiếu đó.

  • Nếu tên kết nối không phải là một kết nối sổ làm việc hợp lệ được lưu giữ trong sổ làm việc, thì hàm CUBEVALUE trả về giá trị lỗi #NAME? . Nếu máy chủ Xử lý Phân tích Trực tuyến (OLAP) không chạy, không khả dụng hoặc trả về một thông báo lỗi, thì hàm CUBEVALUE trả về giá trị lỗi #NAME? .

  • Nếu ít nhất một thành phần trong bộ không hợp lệ, thì hàm CUBEVALUE trả về giá trị lỗi #VALUE! .

  • Hàm CUBEVALUE trả về giá trị lỗi #N/A khi:

    • Cú pháp biểu thức phần tử không chính xác.

    • Phần tử được xác định bởi biểu thức phần tử không tồn tại trong khối.

    • Bộ không hợp lệ vì không có giao cắt cho các giá trị được chỉ định. (Điều này có thể xảy ra với nhiều thành phần của cùng một cấu trúc phân cấp).

    • Tập hợp có chứa ít nhất một phần tử có kích thước khác với các phần tử khác.

    • Hàm CUBEVALUE có thể trả về giá trị lỗi #N/A nếu bạn tham chiếu đến một đối tượng theo phiên, chẳng hạn như một phần tử được tính hoặc một tập hợp có tên, trong một PivotTable khi chia sẻ một kết nối, và PivotTable đó bị xóa bỏ hoặc bạn chuyển đổi PivotTable thành công thức. (Trên tab Tùy chọn, trong nhóm Công cụ, bấm Công cụ OLAP, rồi bấm Chuyển thành Công thức).

Vấn đề: Giá trị null được chuyển thành chuỗi có độ dài bằng không

Trong Excel, nếu một ô không có dữ liệu vì bạn chưa bao giờ thay đổi nó hoặc bạn đã xóa nội dung của nó, thì ô đó chứa một giá trị trống. Trong nhiều cơ sở dữ liệu, một giá trị trống được gọi là giá trị Null. Giá trị trống hoặc Null có nghĩa đúng là "Không có giá trị". Tuy nhiên, một công thức không bao giờ có thể trả về một chuỗi trống hoặc giá trị Null. Một công thức luôn trả về một trong ba giá trị: giá trị số; giá trị văn bản mà đó có thể là chuỗi có độ dài bằng không, hoặc một giá trị lỗi, chẳng hạn như #NUM! hoặc #VALUE.

Nếu một công thức có chứa hàm CUBEVALUE được kết nối tới một cơ sở dữ liệu Xử lý Phân tích Trực tuyến (OLAP) và một truy vấn đến cơ sở dữ liệu này có kết quả là một giá trị Null, thì Excel chuyển đổi giá trị Null này thành chuỗi có độ dài bằng không, ngay cả khi công thức có thể trả về một giá trị số. Điều này có thể dẫn đến tình huống một phạm vi ô có chứa kết hợp cả giá trị số và chuỗi có độ dài bằng không và điều này có thể ảnh hưởng đến kết quả của các công thức khác có tham chiếu đến phạm vi ô đó. Ví dụ, nếu A1 và A3 có chứa số và A2 có chứa công thức với hàm CUBEVALUE mà công thức này trả về chuỗi có độ dài bằng không, thì công thức sau đây sẽ trả về lỗi #VALUE! :

=A1+A2+A3

Để tránh điều này, bạn có thể kiểm tra chuỗi có độ dài bằng không bằng cách dùng hàm ISTEXT và bằng cách sử dụng hàm IF để thay thế chuỗi có độ dài bằng 0 (không) như trong ví dụ sau đây:

=IF(ISTEXT(A1);0;A1)+IF(ISTEXT(A2);0;A2)+IF(ISTEXT(A3);0;A3)

Hoặc theo cách khác, bạn có thể lồng hàm CUBEVALUE trong một điều kiện IF mà điều kiện này trả về giá trị 0 nếu hàm CUBEVALUE định trị một chuỗi có độ dài bằng không, như trong ví dụ sau đây:

=IF (CUBEVALUE("Doanh số";"[Đơn vị].[Lợi nhuận]";"[Thời gian].[2004]";"[Tất cả sản phẩm].[Đồ uống]")="" 0; CUBEVALUE("Doanh số";"[Đơn vị].[Lợi nhuận]";"[Thời gian].[2004]";"[Tất cả Sản phẩm].[Đồ uống]"))

Lưu ý rằng hàm SUM không yêu cầu phải kiểm tra chuỗi có độ dài bằng không vì nó tự động bỏ qua các chuỗi có độ dài bằng không khi tính toán giá trị trả về.

Ví dụ

=CUBEVALUE("Doanh số";"[Đơn vị].[Lợi nhuận]";"[Thời gian].[2004]";"[Tất cả Sản phẩm].[Đồ uống]")

=CUBEVALUE($A$1;"[Đơn vị].[Lợi nhuận]";D$12;$A23)

=CUBEVALUE("Doanh số";$B$7;D$12;$A23)

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

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

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

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×