Como exibir o total de um nível que o valor de seu último filho em MDX
Pergunta
Eu tenho uma consulta MDX que lista uma medida para todos 'Semana' e os níveis de 'dia' no banco de dados OLAP. Por exemplo
SELECT
{
HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
}
ON ROWS,
{
[Measures].[Quantity]
}
ON COLUMNS
FROM [Sales]
Se a medida for exibido durante uma semana, porém, em vez de mostrar o total de todos os valores do dia, eu gostaria de mostrar o valor para o último dia dentro de uma semana. Por exemplo
Semana 1: 12
15 Set: 10
16 Set: 20
17 Set: 12
18 Sept: 15
19 Sept: 8
20 Sept: 9
21 Set: 12
Semana 2: 15
22 Set: 12
23 de setembro: 15
Como posso conseguir isso dentro do MDX?
Solução
Adicione um novo medidas calculadas para o início do seu MDX que mostra o valor do último dia somente se ele está sendo mostrado em um nível semana, caso contrário, deixe-o inalterado:
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 um cliente pediu para este pedido estranho, e eu prevejo que você vai receber uma chamada em um mês de alguém no mesmo escritório, dizendo que o 'total' semanal está errado sobre este relatório!