Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Ilość linii ssas mdx podzielona przez SUMA

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować klucz podstawowy

  2. Wiele instrukcji Select przy użyciu SQL Server 2005 WITH Statement

  3. Wyraźne losowe generowanie czasu w ustalonym interwale

  4. Sql Server 2008 R2 Management Studio — bez Intellisense

  5. Tworzenie nowej bazy danych z kopii zapasowej innej bazy danych na tym samym serwerze?