Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

KPI Visual: valor objetivo

Hola

Tengo un problema con la creación de un informe simple con un gráfico y un objeto visual de destino. Supongamos que en mi modelo, tengo una tabla de datos con ventas totales, columna de productos y calendario oscuro. Lo que me gustaría lograr es calcular el objetivo en la tarjeta visual de KPI, como un valor de las ventas totales para el período anterior en la visual. Por lo tanto, si en el gráfico hay años, la tarjeta KPI debe mostrar el valor del año más reciente y el objetivo como total para el año anterior. Igualmente, si estoy presentando trimestres, entonces debe calcular el valor para el trimestre actual y el valor objetivo como valor para el trimestre anterior. Además, sería genial tener una excepción, que si no hay un valor para el período anterior, entonces el objetivo no se calcula. Por ahora, lo he codificado durante meses, pero creo que hay una solución más fácil que desconozco.

7 Replies

  • @Ritaf1983 Claro, espero que este formato esté bien.

    Así que la tabla de hechos se ve más o menos así.

    Valor de ventasfechaTipo de coche
    1004.10.2020A
    2519.09.2020A
    3217.08.2020B
    1414.06.2020B

    Ahora, supongamos que tenemos una fecha de segmentación y un gráfico agrupado con ventas en el eje Y y fecha en el eje X.

    En función de la granularidad que se muestre en el gráfico (por ejemplo, años, meses, trimestres), la tarjeta KPI debe mostrar el valor del mes actual y el objetivo del anterior. Entonces, para la pantalla de abajo, debería ser 548 y 535.

    Sin embargo, si cambio la granularidad a cuartos, como en la pantalla de abajo, debería presentar 1.3k y 1k.

  • Hola @Berrcikk
    Puede usar la función isinscope para manipular las jerarquías de fechas y calcular su objetivo de acuerdo con las selecciones.
    Por favor, consulte el video adjunto :
    https://www.youtube.com/watch?v=_p9E8fiDRDw

    Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente

  • Hola @Ritaf1983
    Creo que la función INSCOPE no es lo que estoy buscando, ya que la jerarquía de fechas se determina en un objeto visual separado, por lo que creo que no funciona en este escenario

  • No estoy seguro Si te he entendido bien, lo que dices definitivamente tiene sentido, pero tengo la sensación de que no lo entiendo... Para mí, parece que el cambio de la granularidad de los datos en el gráfico no afecta de ninguna manera a mis otras imágenes. Estoy muy agradecido, pero ¿podría compartir conmigo un ejemplo práctico de tal característica? A continuación se muestra mi código para calcular el objetivo actual, que me gustaría reaccionar a los cambios en la granularidad en otro gráfico


    isincscope de prueba =
    Fecha del VAR1 =
    MAX ( DimCalendar[Date] )
    VAR vMonth =
    CALCULAR (
    SUM ( vFactSales[Ventas totales] ),
    MES ( fecha1 ) = MES ( vFactSales[Date] )
    )
    VAR vCuarto =
    CALCULAR (
    SUM ( vFactSales[Ventas totales] ),
    TRIMESTRE ( fecha1 ) = TRIMESTRE ( vFactSales[Fecha] )
    )
    VAR vAño =
    CALCULAR (
    SUM ( vFactSales[Ventas totales] ),
    AÑO ( fecha1 ) = AÑO ( vFactSales[Fecha] )
    )
    Ámbito del VAR1 =
    INTERRUPTOR (
    VERDADERO (),
    ISINSCOPE ( DimCalendar[Date].[ Mes] ), vMonth,
    ISINSCOPE ( DimCalendar[Date].[ Mes] ), vQuarter,
    ISINSCOPE ( DimCalendar[Date].[ Mes] ), vAño,
    1
    )
    DEVOLUCIÓN
    Ámbito1

    Y una pantalla de cómo otras imágenes no reaccionan...


    ¡Gracias por tu paciencia!

  • Hola @Berrcikk
    Debe aplicar la lógica necesaria para los objetivos basados en el filtro de jerarquía, si lo entendí correctamente, en el año debería ser hace un año, trimestre, trimestre atrás, etc.
    Así que es algo así como:
    isincscope de prueba =
    Fecha del VAR1 =
    MAX ( DimCalendar[Date] )
    VAR vMonth =
    CALCULAR (
    SUM ( vFactSales[Ventas totales] ),
    datedadd( vFactSales[Date] ,-1,month)
    )
    VAR vCuarto =
    CALCULAR (
    SUM ( vFactSales[Ventas totales] ),
    datedadd( vFactSales[Date] ,-1,quarter)
    )
    VAR vAño =
    CALCULAR (
    SUM ( vFactSales[Ventas totales] ),
    datedadd ( vFactSales[Date] ,-1,Year)
    )
    Ámbito del VAR1 =
    INTERRUPTOR (
    VERDADERO (),
    ISINSCOPE ( DimCalendar[Date].[ Mes] ), vMonth,
    ISINSCOPE ( DimCalendar[Date].[ Mes] ), vQuarter,
    ISINSCOPE ( DimCalendar[Date].[ Mes] ), vAño,
    1
    )
    DEVOLUCIÓN
    Ámbito1