Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Conecte datos reales y planifique con diferentes fechas de congelación de datos

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)

radbook_0-1650570572946.png

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:

radbook_1-1650570572947.png

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"

radbook_2-1650570572950.png

Cuando pongo todo junto en una mesa me da el resultado deseado:

radbook_3-1650570572953.png

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:

radbook_4-1650570572956.png

Ahora tengo dos preguntas:

  1. ¿Es mi manera de combinar los reales y el presupuesto de esta manera en principio una buena manera? Planeo usar el mismo modelo de datos para muchos otros informes, así que quiero mantenerlo limpio desde el principio.

  1. ¿Por qué "ignora" mi selección de semana calendario en el gráfico de barras?

Muchas gracias de antemano 🙂

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@radbook ,

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]))

vyangliumsft_0-1650867060575.png

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.

vyangliumsft_1-1650867060577.png

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

vyangliumsft_2-1650867060582.png

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

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Muchas gracias por sus instrucciones detalladas, funciona ahora 🙂

Syndicate_Admin
Administrator
Administrator

@radbook ,

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]))

vyangliumsft_0-1650867060575.png

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.

vyangliumsft_1-1650867060577.png

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

vyangliumsft_2-1650867060582.png

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

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

Check out the May 2025 Power BI update to learn about new features.

May 2025 Monthly Update

Fabric Community Update - May 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors