Question

J'ai créé une requête MDX qui calcule les 10 TOP ZipCodes (selon ma mesure Rester patient) en tant que tel:

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 )

Cette requête est utilisée pour alimenter un PerformancePoint 100% graphique à barres empilées. Le client a demandé que nous mettons dans le reste des codes postaux dans un champ « Autre », tels qu'il devrait y avoir 11 valeurs car cela est un 00% sur la base graphique,: un pour chacun des 10 premiers, et un onzième qui est une somme du reste des codes postaux.

Je suis un novice extrême à MDX, mais cela ne souund pas comme il devrait être impossible. Est-ce que quelqu'un a des idées ou des suggestions?

Était-ce utile?

La solution

Je ferai de mon mieux avec le code non testé, il faut en tenir:

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 )

Qu'est-ce que cela ne se crée un ensemble de votre top 10 codes postaux, puis agrège (autre que la somme !!!) tous les codes postaux, à l'exception de votre top 10.

En outre, si cela est un ensemble commun (top 10 codes postaux), vous voudrez peut-être faire un ensemble sur le cube, où vous pouvez réutiliser ad nauseam, sans avoir à changer toutes les requêtes MDX que vous avez.

Cheers,
Eric

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top