MDX Rang anfordern Rückkehr zu unerwarteten Ergebnissen
-
09-10-2019 - |
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?
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