Ich versuche, einen Datenwürfel zu implementieren, wobei ich den Durchschnitt und den Median eines Maßes für eine gegebene Menge von Dimensionen anzeigen kann. Einfaches Beispiel mit AdventureWorksDW:MDX MEDIAN() Funktion falsche Ergebnisse
WITH
MEMBER [Measures].[Median Qty] AS
MEDIAN ([Product].[Product Categories].siblings, [Measures].[Reseller Sales-Order Quantity])
MEMBER [Measures].[avgOrderSize] AS
CASE
WHEN [Measures].[Reseller Sales Count] = 0 THEN NULL
ELSE ([Measures].[Reseller Sales-Order Quantity]/[Measures].[Reseller Sales Count])
END
SELECT {[Measures].[Reseller Sales-Order Quantity], [Measures].[Median Qty], [Measures].[avgOrderSize]} ON 0,
NON EMPTY([Product].[Product Categories].[Category]) ON 1
FROM [Analysis Services Tutorial]
WHERE ([Product].[Product Name].&[476]);
Die Ausgabe lautet:
Meine [Measures].[avgOrderSize]
korrekt ist, wie es mit den konkreten Maßnahmen in der Abfrage zurückgegeben werden angezeigt. Allerdings ist die [Measures].[Median Qty]
überhaupt nicht korrekt für meine Anforderungen. Ich hätte allerdings den Wert um 6 (da mein AdventureWorksDW2012 344 Reseller-Bestellungen hat, die dieses Produkt enthalten). Es sieht so aus, als ob der MEDIAN() über den gesamten Satz von Produkten funktioniert?
Ich habe Variationen anprobiert [Product].[Product Categories].siblings
[Product].[Product Name].CurrentMember
einschließlich, die den gleichen Wert wie der Reseller Sales-Order Menge zurück Was mache ich falsch und wie kann ich die MEDIAN() Funktion zu handeln bekommen wie ich erwarte?
Haben Sie eine degenerierte Dimension, die ein Dimensionselement für jede Reseller-Reihenfolge hat (in Ihrem echten Würfel meine ich)? Welche Version von SSAS und ist es Enterprise Edition? – GregGalloway
@GregGalloway Wir haben degenerierte Dimensionen in unseren realen Daten. Ich hoffe, MEDIAN zuerst in den AW-Daten zu verstehen, damit ich etwas zum Testen und Vergleichen habe. Wir verwenden SSAS 2012 Standard Edition. – wergeld