Olá, Luciano, tudo bem?
Desde já peço desculpas pela demora em obter retorno.
Considerando que seu problema está relacionado a questões externas ao curso e não tenho acesso completo ao cenário do seu projeto, apresentarei algumas sugestões que podem servir como ponto de partida.
Para calcular o YTD (Year to Date) no MDX e compará-lo ao mesmo mês do ano passado, utilize a função YTD em conjunto com ParallelPeriod.
A função YTD soma acumulativamente o valor de uma medida desde o início do ano até o membro atual, enquanto a função ParallelPeriod retorna um membro em uma hierarquia no mesmo período do ano anterior.
O código ficará assim:
WITH
MEMBER [Measures].[YTD] AS
AGGREGATE(
YTD([DtPedido].[DtPedidoMes].CurrentMember),
[Measures].[QtExame]
)
MEMBER [Measures].[YTD_Ano_Anterior] AS
AGGREGATE(
ParallelPeriod([DtPedido].[DtPedidoAno], 1, [DtPedido].[DtPedidoMes].CurrentMember),
[Measures].[QtExame]
)
SELECT
{[Measures].[QtExame], [Measures].[YTD], [Measures].[YTD_Ano_Anterior]} ON COLUMNS,
[DtPedido].[DtPedidoMes].[DtPedidoMes].MEMBERS ON ROWS
FROM
[Producao]
WHERE
([DtPedido].[DtPedidoAno].&[2023])
Nessa query, foi adicionado o membro calculado [Measures].[YTD_Ano_Anterior], que utiliza a função ParallelPeriod para retornar o valor do YTD do mesmo mês do ano anterior. Assim, você poderá comparar o YTD atual com o YTD do ano anterior.
Reforçando, talvez seja necessário adaptar o código, uma vez que não possuo acesso ao projeto para realizar testes. No entanto, espero que esses códigos auxiliem no início da solução.
Espero ter ajudado.
Caso surja alguma dúvida, não hesite em compartilhar no fórum.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!