OK! Myślę, że rozumiem, czego chcesz spróbować. Z Root możesz uzyskać wszystko ze wszystkich wymiarów.
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Root()
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
EDYCJA:
Nie myśl, że jest na to dość łatwy sposób. Może spójrz na Oś(1) zamiast roota.
Nie próbowałem tego w kostce tylko w zapytaniu... i działa...
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Axis(1)
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
EDYCJA2:
Ponieważ chcesz, aby to działało z Excelem. Nie ma jasnego sposobu, aby to działało bez dokładnej wiedzy o wymiarach, które chcesz „Waga”. Program Excel działa z subkostkami, co oznacza, że funkcja Axis faktycznie zwraca WSZYSTKIE elementy z tej osi.
Nie ma sposobu, aby dokładnie wiedzieć, którzy członkowie są faktycznie pokazywani w MDX. Powinna to być kalkulacja po stronie Klienta.
Możesz to zrobić bardzo łatwo w programie EXCEL, po prostu wybierając pole do OPTION i przechodząc do "Pokaż wartości jako". Dzięki „% sumy końcowej” otrzymasz dokładnie taki procent, jakiego szukasz.