Cómo mostrar el total de un nivel como el valor de su último hijo en MDX
Pregunta
Tengo una consulta MDX que enumera una medida para todos 'Semana' y 'Día' niveles en la base de datos OLAP.Por ejemplo
SELECT
{
HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
}
ON ROWS,
{
[Measures].[Quantity]
}
ON COLUMNS
FROM [Sales]
Cuando la medida se muestra durante una Semana, sin embargo, en lugar de mostrar el total de todo el Día los valores, me gustaría mostrar el valor para el último día dentro de la semana.Por ejemplo
Semana 1:12
15 de Septiembre:10
16 de Septiembre:20
17 de Septiembre:12
18 de Septiembre:15
19 de Septiembre:8
20 de Septiembre:9
21 de Septiembre:12
Semana 2:15
22 de Septiembre:12
23 de Septiembre:15
¿Cómo puedo lograr esto dentro de la MDX?
Solución
Añadir un nuevo medidas calculadas en el inicio de su MDX que muestra el último día del valor sólo si se muestra en una semana nivel, en caso contrario, deje inalterada:
WITH MEMBER [Measures].[Blah] AS
'IIF(
[Business Time].currentMember.level.name = "Week",
([Business Time].currentMember.lastChild, [Measures].[Quantity]),
([Business Time].currentMember, [Measures].[Quantity])
)'
Espero que un cliente pide esta solicitud extraña, y me atrevo a predecir que va a recibir una llamada en un mes de alguien en la misma oficina, diciendo que el semanal 'total' que está mal en este informe!