Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

ssas mdx ред количество, разделено на SUM

Добре! Мисля, че разбирам какво искаш, опитай това. С Root можете да получите Всичко от всички измерения.

Divide(
  [Measures].[Sales Line Amount AC Budget hidden]
 ,AGGREGATE(
   Root()
  ,[Measures].[Sales Line Amount AC Budget hidden]
  )
)

РЕДАКТИРАНЕ:

Не мислете, че има доста лесен начин да направите това. Може би погледнете Axis(1) вместо root.

Не опитах това в куб само в рамките на заявка... и работи...

Divide(
  [Measures].[Sales Line Amount AC Budget hidden]
 ,AGGREGATE(
   Axis(1)
  ,[Measures].[Sales Line Amount AC Budget hidden]
  )
)

РЕДАКТИРАНЕ 2:

Тъй като искате това да работи с Excel. Няма ясен начин да я накарате да работи, без да знаете точно кои измерения искате да „претеглите“. Excel работи с подкубове, което означава, че функцията Axis всъщност връща ВСИЧКИ членове от тази ос.

Няма начин да разберете точно кои членове действително се показват в MDX. Това трябва да е изчисление от страна на клиента.

Всъщност можете да направите това много лесно в EXCEL, просто като изберете полето, което отива на OPTION и отидете на "Show Values ​​As". С "% общ сбор" ще ви даде точно процента, който търсите.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да PIVOT върху до 49 полета?

  2. Сценарий за време на проектиране на SQL-Server DB (разпределен или централизиран)

  3. CLR:Multi Param Aggregate, аргументът не е в крайния изход?

  4. Обработка на грешки с курсор в SQL

  5. Изследване на форматите за дата на Postgres и техните различни функции