OK! Myslím, že rozumím tomu, co chcete, zkuste to. S Root můžete získat vše ze všech dimenzí.
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Root()
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
EDIT:
Nemyslete si, že existuje docela snadný způsob, jak to udělat. Možná se podívejte na Axis(1) místo root.
Nezkoušel jsem to v krychli pouze v rámci dotazu... a funguje to...
Divide(
[Measures].[Sales Line Amount AC Budget hidden]
,AGGREGATE(
Axis(1)
,[Measures].[Sales Line Amount AC Budget hidden]
)
)
EDIT2:
Protože chcete, aby to fungovalo s Excelem. Neexistuje jasný způsob, jak to zprovoznit, aniž byste přesně věděli, které rozměry chcete "Váhu". Excel pracuje s podkrychlemi, to znamená, že funkce Axis ve skutečnosti vrací VŠECHNY členy z této osy.
Neexistuje způsob, jak přesně zjistit, kteří členové jsou skutečně zobrazeni v MDX. Mělo by se jednat o výpočet na straně klienta.
Ve skutečnosti to můžete v EXCELu udělat velmi snadno jednoduše tak, že vyberete pole v MOŽNOSTI a přejdete na "Zobrazit hodnoty jako". Pomocí "% celkového součtu" získáte přesně to procento, které hledáte.