Truy vấn MDX cho RANK bất kể phân cấp


10

Tôi hy vọng sẽ thêm một phép tính vào SSAS Cube của tôi (SSAS 2012) sẽ hiển thị thứ hạng tương đối của bất kỳ thành viên hiện tại nào chống lại tất cả các thành viên khác trong nhóm cá mú đó, mà không chỉ định trước các nhóm .

Ví dụ: giả sử tôi đã có một phép tính được Efficiencyxác định là $$ / giờ.

Tôi cũng muốn thêm một Efficiency Rankphép tính sẽ cho tôi biết vị trí tương đối mà thành viên hiện tại có trong vị trí đó.

Cú pháp tôi đã thử là

RANK([Measures].[Efficiency].CurrentMember, [Measures].[Efficiency])

Mà tôi nhận ra là không chính xác.

Tôi dường như không thể tìm thấy một hướng dẫn cho điều này ở bất cứ nơi nào khác, vì vậy tôi hy vọng có một số thực tiễn hay mô hình tốt nhất cho việc này vì có vẻ như đó sẽ là một yêu cầu kinh doanh tương đối phổ biến.

Câu trả lời:


4

Vui lòng giải thích chi tiết hơn về ý nghĩa của "nhóm"?

Chẳng hạn, nếu bạn muốn xếp hạng một thành viên trong một tập hợp, bạn cần cho SSAS biết tập hợp mà bạn đang xếp hạng trong đó là gì.

RANK( Tuple, Set, Measure to rank by)

Vì thế

RANK( Machines.Machines.CurrentMember, Machines.Machines.AllMembers, Measures.Efficiency)

Bây giờ, tôi nghĩ rằng những gì bạn đang cố gắng làm là tất cả các thành viên phải năng động?

Câu hỏi là "Làm thế nào cả hai bạn sẽ chỉ định thành viên hiện tại và tập hợp?"

Và đây là một kicker: công cụ frontend bạn đang sử dụng cũng sẽ tạo ra sự khác biệt ở đây


Đây là một khởi đầu tốt, cảm ơn! Mặt trước sẽ là bảng báo cáo hoặc bảng xoay vòng Excel hoặc báo cáo SSRS.
JNK
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.