none
Campo Calculado de % Año Anterior

    Pregunta

  • Hola grupo,

       Solicito de su asyuda con lon siguiente:

            Resulta que tengo un cubo el cual quisiera poder visualizar un campo con el % del año anterior algo así como la imagen que sigue.

    La columna superior es la dimensión de versiones y la del costado es la dimension de cuentas la cual tiene jerarquías.

    el campo que indica el % es una prueba la cual hasta ahora no me ha dado resultado puesto que no existe una dimensión de tiempo como para poder hacer el cálculo del año anterior.

    Entonces lo que estoy haciendo es comparar en la dimensión de versión, por ejemplo, entre el Real16B y el Real17B, pero no calcula adecuadamente.

    Otra prueba que hize fue intentar crear un campo calculado con el siguiente MDX:

    Case When [Version].[PK Version].&[REAL16B] Then
            (([Version].[PK Version].CurrentMember,[Measures].[Monto en Pesos]) - ([Version].[PK Version].&[REAL15B],[Measures].[Monto en Pesos])) / ([Version].[PK Version].&[REAL15B], [Measures].[Monto en Pesos])
         When [Version].[PK Version].&[REAL17B] Then
            (([Version].[PK Version].CurrentMember,[Measures].[Monto en Pesos]) - ([Version].[PK Version].&[REAL16B],[Measures].[Monto en Pesos])) / ([Version].[PK Version].&[REAL16B], [Measures].[Monto en Pesos])
         When [Version].[PK Version].&[REAL18B] Then
            (([Version].[PK Version].CurrentMember,[Measures].[Monto en Pesos]) - ([Version].[PK Version].&[REAL17B],[Measures].[Monto en Pesos])) / ([Version].[PK Version].&[REAL17B], [Measures].[Monto en Pesos])

        Else 0
    End

    Pero tampoco resulto, es decir, la formula para una sola medida si funciona, al colocar sólo 

     (([Version].[PK Version].CurrentMember,[Measures].[Monto en Pesos]) - ([Version].[PK Version].&[REAL16B],[Measures].[Monto en Pesos])) / ([Version].[PK Version].&[REAL16B], [Measures].[Monto en Pesos])

    Hace el calculo y lo hace bien, pero sólo para la versión REAL17B muestra el % del año anterior correctamente, pero no se como hacerlos para que lo haga para todas las versiones.

    Espero se entienda lo que requiero.

    desde ya muy agradecido por su ayuda.-

    Atte.,


    Martin

    viernes, 12 de enero de 2018 13:31

Respuestas

  • iif( ([Version].[PK Version]..CurrentMember.prevmember, [Measures].[Monto en Pesos]) = 0 ,null,

    ([Version].[PK Version].CurrentMember,[Measures].[Monto en Pesos]) - ([Version].[PK Version].CurrentMember.prevmember,[Measures].[Monto en Pesos])) / ([Version].[PK Version]..CurrentMember.prevmember, [Measures].[Monto en Pesos]))

    prueba esta formula, en realidad tienes que comparar cada una con el anterior, solo asegúrate que el orden es el correcto y no necesitaras nada mas. 


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    sábado, 13 de enero de 2018 8:09
    Moderador