Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
Querida comunidad,
Estoy tratando de configurar un informe que compare Actuals vs Plan, pero me cuesta mucho cómo configurarlo correctamente: encontraría alguna solución para manipular mi fuente excel, sin embargo, quiero tener una buena solución en PBI.
Mi configuración:
Tabla de datos reales, actualizada una vez por semana (en "fecha de congelación de datos")
Fecha de congelación de datos | Mes (es para todo el mes, uso el primero del mes como fecha de referencia) | Órdenes |
20.04.2022 | 01.04.2022 | 21 |
20.04.2022 | 01.05.2022 | 13 |
12.04.2022 | 01.04.2022 | 18 |
12.04.2022 | 01.05.2022 | 10 |
.... |
|
|
19.04.2021 | 01.04.2021 | 24 |
19.04.2021 | 01.05.2021 | 20 |
Tabla del plan, actualizada una vez al mes, ya que nuestro plan recibe una actualización cada mes (en la "fecha de congelación del plan")
Fecha de congelación del plan (siempre el primero del mes) | Mes (el plan es para todo el mes, uso el primero del mes como fecha de referencia) | Pedidos planificados |
01.04.2022 | 01.04.2022 | 25 |
01.04.2022 | 01.05.2022 | 24 |
… |
|
|
01.04.2021 | 01.04.2021 | 25 |
01.04.2021 | 01.05.2021 | 28 |
|
|
|
Mi primera solicitud: compare el estado actual de este año con el año anterior mediante la selección de la semana calendario:
Para esto creé dos tablas de fechas, una para la fecha de congelación de datos y otra para el mes (ya que son 2 eventos de tiempo completamente diferentes)
Seleccione "semana del año" a través de la segmentación de datos de "DateTableFreezeDate", que se refiere a la columna "fecha de congelación de datos" de mi tabla Actuals -- > esto funciona bien, ignora los datos de todas las demás semanas calendario:
Sin embargo, cuando intento conectar esto a los datos de mi Plan, me meto en problemas.
Mi primera idea fue usar el "DateTableFreezeDate" también para mi fecha de congelación del plan y usarlo como una relación. Sin embargo, al seleccionar la semana de calendario como en el ejemplo anterior, no se muestran datos del plan, ya que tiene una fecha de congelación de datos solo del primero del mes.
Luego creé una nueva dateTable para mi PlanFreezeDate y la vinculé a mi "DateTableFreezeDate" a través de "Primer día del mes"
Cuando pongo todo junto en una mesa me da el resultado deseado:
Sin embargo, cuando convierto la tabla en un gráfico de barras, parece ignorar la fecha de congelación y me da órdenes planificadas mucho más altas:
Ahora tengo dos preguntas:
Muchas gracias de antemano 🙂
Solved! Go to Solution.
Estos son los pasos que puede seguir:
1. Crear tabla calculada.
Table =
CALENDAR(Min('Plan table'[Plan freeze date]),MAX('Actuals table'[Data freeze date]))
2. Cree una columna de semana para ambas tablas.
week = WEEKNUM('Actuals table'[Data freeze date],1)
week = WEEKNUM('Plan table'[Plan freeze date],1)
3. Utilice Introducir datos para crear una tabla de datos.
4. Crear medida.
Measure 3 =
var _select=SELECTEDVALUE('Table'[Week])
return
SWITCH(
TRUE(),
MAX('Table2'[Yeargroup])="2021Freeze",CALCULATE(SUM('Actuals table'[Orders]),FILTER(ALL('Actuals table'),'Actuals table'[week]=_select&&'Actuals table'[Month Name]=MAX('Actuals table'[Month Name])&&YEAR('Actuals table'[Data freeze date])=2021)),
MAX('Table2'[Yeargroup])="2022Freeze",CALCULATE(SUM('Actuals table'[Orders]),FILTER(ALL('Actuals table'),'Actuals table'[week]=_select&&'Actuals table'[Month Name]=MAX('Actuals table'[Month Name])&&YEAR('Actuals table'[Data freeze date]=2022))),
MAX('Table2'[Yeargroup])="2021Plan",CALCULATE(SUM('Plan table'[Planned Orders]),FILTER(ALL('Plan table'),YEAR('Plan table'[Plan freeze date])=2021&&'Plan table'[week]=_select-1&&'Plan table'[Month Name]=MAX('Actuals table'[Month Name]))),
MAX('Table2'[Yeargroup])="2022Plan",CALCULATE(SUM('Plan table'[Planned Orders]),FILTER(ALL('Plan table'),YEAR('Plan table'[Plan freeze date])=2022&&'Plan table'[week]=_select-1&&'Plan table'[Month Name]=MAX('Actuals table'[Month Name])))
)
5. Resultado:
Colocar [Nombre del mes] en Axis, [Yeargroud] en Legend, [Measure3] en Value
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
Muchas gracias por sus instrucciones detalladas, funciona ahora 🙂
Estos son los pasos que puede seguir:
1. Crear tabla calculada.
Table =
CALENDAR(Min('Plan table'[Plan freeze date]),MAX('Actuals table'[Data freeze date]))
2. Cree una columna de semana para ambas tablas.
week = WEEKNUM('Actuals table'[Data freeze date],1)
week = WEEKNUM('Plan table'[Plan freeze date],1)
3. Utilice Introducir datos para crear una tabla de datos.
4. Crear medida.
Measure 3 =
var _select=SELECTEDVALUE('Table'[Week])
return
SWITCH(
TRUE(),
MAX('Table2'[Yeargroup])="2021Freeze",CALCULATE(SUM('Actuals table'[Orders]),FILTER(ALL('Actuals table'),'Actuals table'[week]=_select&&'Actuals table'[Month Name]=MAX('Actuals table'[Month Name])&&YEAR('Actuals table'[Data freeze date])=2021)),
MAX('Table2'[Yeargroup])="2022Freeze",CALCULATE(SUM('Actuals table'[Orders]),FILTER(ALL('Actuals table'),'Actuals table'[week]=_select&&'Actuals table'[Month Name]=MAX('Actuals table'[Month Name])&&YEAR('Actuals table'[Data freeze date]=2022))),
MAX('Table2'[Yeargroup])="2021Plan",CALCULATE(SUM('Plan table'[Planned Orders]),FILTER(ALL('Plan table'),YEAR('Plan table'[Plan freeze date])=2021&&'Plan table'[week]=_select-1&&'Plan table'[Month Name]=MAX('Actuals table'[Month Name]))),
MAX('Table2'[Yeargroup])="2022Plan",CALCULATE(SUM('Plan table'[Planned Orders]),FILTER(ALL('Plan table'),YEAR('Plan table'[Plan freeze date])=2022&&'Plan table'[week]=_select-1&&'Plan table'[Month Name]=MAX('Actuals table'[Month Name])))
)
5. Resultado:
Colocar [Nombre del mes] en Axis, [Yeargroud] en Legend, [Measure3] en Value
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente