sql >> Database teknologi >  >> RDS >> Sqlserver

ssas mdx linjemængde divideret med SUM

OK! Jeg tror, ​​jeg forstår, hvad du vil, prøv dette. Med Root du kan få Alt fra alle dimensioner.

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

EDIT:

Tror ikke der er en ret nem måde at gøre det på. Tag et kig på Axis(1) i stedet for root.

Jeg prøvede ikke dette i en terning kun i en forespørgsel... og det virker..

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

EDIT2:

Da du vil have dette til at fungere med Excel. Der er ikke en klar måde at få det til at fungere uden at vide præcis, hvilke dimensioner du vil "Vægte". Excel fungerer med underkuber, det betyder, at aksefunktionen faktisk returnerer ALLE medlemmer fra den akse.

Der er ikke en måde at vide præcis, hvilke medlemmer der rent faktisk vises i MDX. Dette bør være en beregning på klientsiden.

Du kan faktisk gøre dette meget nemt i EXCEL blot ved at vælge feltet, gå til OPTION og gå til "Vis værdier som". Med "% Grand Total" vil du give dig præcis den procentdel, du leder efter.




  1. MySQL Limit LEFT JOIN Underforespørgsel efter tilmelding

  2. C#:Oracle Data Type Equivalence med OracleDbType

  3. Er der PHP mysql_real_escape_string til postgresql?

  4. Hvordan forhindrer jeg sql-injektion med php og mysql