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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo calcular el % de variación para los ingresos de CY vs PY sin usar una columna de fecha continua?

Hola a todos
¡Pregunta un poco larga aquí, así que agradezco su tiempo!


Estoy tratando de crear una columna de porcentaje de variación para mostrar el cambio en los ingresos del año pasado a este año en una tabla. Para ello, primero necesito una medida que calcule los ingresos del año anterior utilizando fechas fiscales, no fechas reales. Nuestra empresa utiliza el Calendario Fiscal 445 por lo que el primer y segundo mes de cada trimestre tienen 4 semanas, y el tercer mes del trimestre tiene 5 semanas. Por este motivo, no estoy seguro de cómo crear una columna de fecha continua que corresponda a los criterios de fecha fiscal necesarios. En su lugar, intenté que la siguiente mejor opción continuara y creé una columna para Mes-Año en mi tabla de fechas y tabla de ventas. Para obtener los ingresos del año anterior, descubrí en línea que necesitaba usar la función sameperiodlastyear, pero eso no parece funcionar con mi columna que tiene el formato Mes-Año. Para contextualizar, así es como se ve mi tabla de fechas:

dbarseg1_0-1720657214659.png

Me he asegurado de marcar esta tabla como mi tabla de fechas, pero utilicé la columna Fecha (real) de la imagen para crear esa distinción. En cuanto a mis relaciones de datos, a continuación se muestra una imagen de cómo conecté mi tabla de fechas a mi tabla de ventas utilizando una relación de varios a muchos a través de la columna Mes-Año que se muestra arriba.

dbarseg1_1-1720657475936.png

El problema es que cuando hago mi expresión DAX para PY Revenue de la siguiente manera:


Ingresos PY =
CALCULAR(
[Ingresos totales],
MISMO PERÍODOEL año pasado('Fiscal Calendar'[Fecha]))

y agregue los ingresos PY a mi tabla de matriz, no se carga. Como referencia, las filas de mi matriz incluyen una jerarquía de Año fiscal, Trimestre fiscal, Mes fiscal y Semana fiscal. Soy nuevo en Power BI y aún no entiendo cómo funcionan las relaciones o DAX, por lo que se agradece cualquier ayuda.
dbarseg1_3-1720657648653.png
¡Muchas gracias por su consideración y ayuda!

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @dbarseg1 -Espero que en su tabla de fechas año fiscal, el mes fiscal exista, si no es a continuación se agrega el código y luego cree un cálculo personalizado como se muestra a continuación para cambiar las fechas de acuerdo con su calendario fiscal.

"FiscalAño", IF(MES([Fecha]) >= 4, AÑO([Fecha]), AÑO([Fecha])-1)

Mes Fiscal",
SI (
MONTH([Fecha]) >= 4,
MES ([Fecha]) - 3,
MES ([Fecha]) + 9

Cálculo de los ingresos PY de la siguiente manera:

Ingresos PY =
CALCULAR(
[Ingresos totales],
FILTRO (
TODOS ( 'DateTable' ),
'DateTable'[FiscalAño] = MAX ( 'FechaTabla'[AñoFiscal] ) - 1 &&
'DateTable'[FiscalMonth] = MAX ( 'DateTable'[FiscalMonth] )
)
)

Este cálculo filtra la tabla de fechas al mismo mes fiscal del año fiscal anterior

¿He respondido a tu pregunta? ¡Marca mi publicación como una solución! ¡Esto ayudará a otros en el foro!
¡¡Agradezco sus felicitaciones!!

¡¡Muchas gracias!!

He estado atrapado en esto durante tanto tiempo. Utilicé su lógica con Chat GPT para asegurarme de que toda mi jerarquía de fechas en la matriz muestre el año anterior. Aquí está en caso de que otros quieran hacer referencia a una versión ampliada de su código:

Ingresos PY =
INTERRUPTOR(
VERDADERO(),
ISINSCOPE('Fiscal Calendar'[Mes Fiscal]),
CALCULAR(
[Ingresos totales],
FILTRO(
TODO('Fiscal Calendar'),
'Fiscal Calendar'[Año Fiscal] = MÁXIMO('Fiscal Calendar'[Año Fiscal]) - 1 &&
'Fiscal Calendar'[Mes Fiscal] = MÁXIMO('Fiscal Calendar'[Mes Fiscal])
)
),
ISINSCOPE('Fiscal Calendar'[Trimestre Fiscal]),
CALCULAR(
[Ingresos totales],
FILTRO(
TODO('Fiscal Calendar'),
'Fiscal Calendar'[Año Fiscal] = MÁXIMO('Fiscal Calendar'[Año Fiscal]) - 1 &&
'Fiscal Calendar'[Trimestre Fiscal] = MÁXIMO('Fiscal Calendar'[Trimestre Fiscal])
)
),
ISINSCOPE('Fiscal Calendar'[Año Fiscal]),
CALCULAR(
[Ingresos totales],
FILTRO(
TODO('Fiscal Calendar'),
'Fiscal Calendar'[Año Fiscal] = MÁXIMO('Fiscal Calendar'[Año Fiscal]) - 1
)
),
ESPACIO EN BLANCO()
)

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

July Newsletter

Fabric Community Update - July 2024

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

Top Solution Authors