4 votes

Requête MDX avec total courant sur des dimensions croisées

J'ai un cube avec les trois dimensions suivantes : Date, Heure et Décalage. J'ai une mesure appelée [Pieces Succeeded], et je veux un total courant des [Pieces Succeeded] par heure pour un Shift. Une équipe peut s'étendre sur plus d'un jour, donc dans la requête suivante, je fais une jointure croisée des dimensions Date et Heure.

with
member [Measures].[Pieces Succeeded Running Total] as
    sum([Time].[Hierarchy].[Hour].FirstMember:[Time].[Hour].CurrentMember, [Measures].[Pieces Succeeded])
select
    { [Measures].[Pieces Succeeded], [Measures].[Pieces Succeeded Running Total] } on columns,
    nonempty(crossjoin([Date].[Month Hierarchy].[Day].Members, [Time].[Hierarchy].[Hour].Members)) on rows
from
    [OEE]
where
    [Shift].[Month Hierarchy].[Shift].&[501]

Ce qui donne les résultats suivants :

Date        Hour  Pieces Succeeded  Pieces Succeeded Running Total
03 Apr 2011 22    6393              6393
03 Apr 2011 23    6424              12817
04 Apr 2011 00    3816              3816
04 Apr 2011 01    5510              9326
04 Apr 2011 02    2090              11416
04 Apr 2011 03    7489              18905
04 Apr 2011 04    7307              26212
04 Apr 2011 05    5706              31918

Comment faire pour que la somme fonctionne sur l'ensemble croisé afin que le total courant fonctionne sur plusieurs jours ?

Gracias

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X