Comment afficher le total d'un niveau en tant que valeur de son dernier enfant dans MDX
Question
J'ai une requête MDX qui répertorie une mesure pour tous les niveaux "Semaine" et "Jour" de la base de données OLAP. Par exemple
SELECT
{
HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
}
ON ROWS,
{
[Measures].[Quantity]
}
ON COLUMNS
FROM [Sales]
Là où la mesure est affichée pour une semaine, au lieu d’afficher le total de toutes les valeurs du jour, j'aimerais afficher la valeur du dernier jour de la semaine. Par exemple
Semaine 1: 12
15 septembre: 10
16 septembre: 20
17 septembre: 12
18 septembre: 15
19 septembre: 8
20 septembre: 9
21 septembre: 12
Semaine 2: 15
22 septembre: 12
23 septembre: 15
Comment puis-je réaliser cela au sein du MDX?
La solution
Ajoutez au début de votre MDX de nouvelles mesures calculées indiquant la valeur du dernier jour uniquement si elles sont affichées au niveau de la semaine. Sinon, laissez la valeur inchangée:
WITH MEMBER [Measures].[Blah] AS
'IIF(
[Business Time].currentMember.level.name = "Week",
([Business Time].currentMember.lastChild, [Measures].[Quantity]),
([Business Time].currentMember, [Measures].[Quantity])
)'
Je m'attends à ce qu'un client demande cette demande étrange et je prédis que vous recevrez un appel dans un mois de quelqu'un du même bureau qui déclare que le "total" hebdomadaire est erroné dans ce rapport!