Forum Discussion
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
- Syndicate_Admin
Administrator
Proporcione datos de muestra que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla).
https://community.powerbi.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-...
Muestre el resultado esperado en función de los datos de muestra que proporcionó.
https://community.powerbi.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523 - Syndicate_Admin
Administrator
@Ritaf1983 Claro, espero que este formato esté bien.
Así que la tabla de hechos se ve más o menos así.
Valor de ventas fecha Tipo de coche 10 04.10.2020 A 25 19.09.2020 A 32 17.08.2020 B 14 14.06.2020 B 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.
- Syndicate_Admin
Administrator
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=_p9E8fiDRDwSi esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
- Syndicate_Admin
Administrator
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 - Syndicate_Admin
Administrator
Hola @Berrcikk
INSCOPE / Isfiltered funcionará, como el "objetivo" de la tarjeta filtrada por barras en el gráfico. - Syndicate_Admin
Administrator
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
Ámbito1Y una pantalla de cómo otras imágenes no reaccionan...
¡Gracias por tu paciencia! - Syndicate_Admin
Administrator
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