sql >> Databáze >  >> RDS >> Sqlserver

množství řádku ssas mdx děleno SUM

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.




  1. proč tento dotaz MySQL vytváří nesprávná čísla řádků?

  2. Chyba:Poskytovatel TCP:Kód chyby 0x2746. Během nastavení SQL v linuxu přes terminál

  3. nahrazení hranatých závorek řetězce funkcí Oracle REGEXP_REPLACE

  4. mysql:převod timediff() na sekundy