Frage

ich diese recht einfache MDX Anfrage schrieb die erhalten Rang durch den Verkauf jedes Geschlechts zählen :

WITH MEMBER [Measures].[rank] AS RANK(
      [Gender].CurrentMember,
      Order(
         [Gender].Members,
         [Measures].[salescount],
         BDESC
      ),
      [Measures].[salescount]
   )
SELECT [Gender].Members ON COLUMNS,
[Measures].[rank] ON ROWS
FROM [SalesAnalysis]

Problem ist, dass das Ergebnis falsch ist, ich weiß M mehr Umsatz als F hat:

Axis #0:
  {}
Axis #1:
  {[Measures].[rank]}
Axis #2:
  {[Gender].[All Genders]}
  {[Gender].[F]}
  {[Gender].[M]}
Row #0: 1
Row #1: 2
Row #2: 3

Wenn ich "Land" anstelle von "Gender" verwenden, die gleichen Problem: die Rang gegeben ist nach der alphabetischen Reihenfolge , statt auf der Grundlage der Verkäufe zählen. (dh: alle Länder kommen in alphabetischer Reihenfolge aufgeführt, mit Rang 1,2,3,4, ...)

Wie kann ich die Anfrage fix richtig jedes salescount Rang des Geschlechts zeigen?

War es hilfreich?

Lösung

OK, I have found the solution:

WITH MEMBER [Measures].[rank] AS RANK(
      [Reseller].CurrentMember,
      Order(
         [Reseller].Members,
         [Measures].[salescount],
         BDESC
      ),
      [Measures].[salescount]
   )
SELECT Order(
         [Reseller].Members,
         [Measures].[salescount],
         BDESC
      ).Item([theShopWhoseRankIWant]) ON COLUMNS,
[Measures].[rank] ON ROWS
FROM [SalesAnalysis]

Sorry for the noise, I hope this might help someone :-)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top