Frage

Ich habe eine MDX-Abfrage erstellt, die die TOP 10 ZipCodes (nach meiner stationären Aufenthalt Maßnahme) als solche berechnet:

WITH
MEMBER [Discharge Date].[Y-M-D].[ Aggregation] AS 'AGGREGATE( EXISTING { [Current Month] } )', SOLVE_ORDER = 0

SELECT
NON EMPTY { [Measures].[Patient Stays] }
ON COLUMNS,

TOPCOUNT({ ORDER( HIERARCHIZE( { [Patient].[ByZipcode].[All].CHILDREN } ), ( [Measures].[Patient Stays] ), BDESC ) }, 10)
ON ROWS

FROM [Patient Stay]

WHERE ( [Discharge Date].[Y-M-D].[ Aggregation], [Facility].[ByAffiliation].CURRENTMEMBER, [Facility].[ByRegion].CURRENTMEMBER )

Diese Abfrage wird verwendet, um ein Performance 100% gestapeltes Balkendiagramm zu füllen. Der Kunde hat darum gebeten, da es sich um eine 00% basierend Diagramm, wir den Rest der Postleitzahlen in eine „Andere“ Klumpen, so dass es 11 Werte sein: eine für jeden der Top 10, und ein elftes die ist eine Summe der übrigen Postleitzahlen.

Ich bin ein extremer Anfänger zu MDX, aber dies nicht souund wie es unmöglich sein sollte. Hat jemand irgendwelche Ideen oder Anregungen?

War es hilfreich?

Lösung

Ich werde mein Bestes mit ungetestetem Code tun, so hier geht:

WITH
MEMBER [Discharge Date].[Y-M-D].[ Aggregation] AS 'AGGREGATE( EXISTING { [Current Month] } )', SOLVE_ORDER = 0

SET [Top10ZipCodes] AS 
    (TOPCOUNT({ ORDER( HIERARCHIZE( { [Patient].[ByZipcode].[All].CHILDREN } ), ( [Measures].[Patient Stays] ), BDESC ) }, 10))

MEMBER [Patient].[ByZipCode].[OtherZipCodes] AS 
    (AGGREGATE({EXCEPT([Patient].[ByZipCode].Members, [Patient].[ByZipCode].[Top10ZipCodes])}))

SELECT
NON EMPTY { [Measures].[Patient Stays] }
ON COLUMNS,

{[Top10ZipCodes], [Patient].[ByZipCode].[OtherZipCodes]}
ON ROWS

FROM [Patient Stay]

WHERE ( [Discharge Date].[Y-M-D].[ Aggregation], [Facility].[ByAffiliation].CURRENTMEMBER, [Facility].[ByRegion].CURRENTMEMBER )

Was das bedeutet ist, erstellt eine Reihe von Ihren Top-10-Postleitzahlen und dann aggregiert (anders als Summe !!!) alle Postleitzahlen mit Ausnahme Ihres Top-10.

Auch wenn dies ein gemeinsames Set ist (Top 10 Postleitzahlen), möchten Sie vielleicht einen Satz auf dem Würfel machen, wo Sie es bis zum Überdruss wiederverwenden können, ohne jede MDX-Abfrage zu ändern, die Sie haben.

Cheers,
Eric

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