OK! Tôi nghĩ tôi hiểu bạn muốn gì hãy thử cái này. Với Gốc bạn có thể nhận được Tất cả từ mọi thứ nguyên.
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Root()
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
CHỈNH SỬA:
Đừng nghĩ rằng có một cách khá dễ dàng để làm điều đó. Có thể xem qua Trục (1) thay vì root.
Tôi đã không thử điều này trong một khối chỉ trong một truy vấn ... và nó hoạt động ..
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Axis(1)
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
EDIT2:
Vì bạn muốn điều này hoạt động với Excel. Không có cách rõ ràng để làm cho nó hoạt động mà không biết chính xác kích thước nào bạn muốn "Trọng lượng". Excel Hoạt động với các ống con, điều đó có nghĩa là, hàm Axis thực sự trả về TẤT CẢ các thành viên từ trục đó.
Không có cách nào để biết chính xác thành viên nào đang thực sự được hiển thị trong MDX. Đây phải là một tính toán từ phía Khách hàng.
Bạn thực sự có thể thực hiện điều này rất dễ dàng trong EXCEL chỉ bằng cách chọn trường ở TÙY CHỌN và đi tới "Hiển thị Giá trị Dưới dạng". Với "% Grand Total" sẽ cung cấp cho bạn chính xác phần trăm mà bạn đang tìm kiếm.