Calcular el valor de los últimos años cuando el período actual tiene un valor

Un usuario Pregunto ✅

Anónimo

Hola,

Estoy tratando de calcular el valor del último período cuando el período actual tiene un valor. Esto es para poder calcular un cálculo Like-for-Like y un crecimiento orgánico además de eso. Lo que tenemos que hacer es mirar este período actual y ver qué miembros estuvieron activos en el período anterior. Si estuvieran activos, me gustaría comparar los dos ingresos entre sí para poder calcular una medida interanual.

Con esto, hay un par de cosas a tener en cuenta: fecha de inicio, fecha de finalización, fecha de compra, facturación

El problema que tengo es: los subtotales de las filas son incorrectos o que el filtrado no tendrá en cuenta la fecha de inicio / finalización de un miembro.

Se me han ocurrido varias fórmulas, todas equivocadas. Actualmente tengo:

CALCULAR( [Test OG Year], SAMEPERIODLASTYEAR (‘Fecha'[Date]), VALUES (Testing_Table[Member]))

El problema con el código anterior es que no toma la fecha de inicio / finalización del miembro en el cálculo, pero los totales de las filas son correctos.

También probé una solución IF:

IF (Testing_Table[Test OG Year] > 0,
CALCULATE (SUMX (FILTER (‘Testing_Table’, ‘Testing_Table'[StartDate].[Date] <= MIN ('Fecha'[Date]) && ('Tabla_de_prueba'[EndDate].[Date] > = MAX (‘Fecha'[Date]) || ISBLANK (‘Tabla_de_prueba'[EndDate].[Date]))), [Test OG Year] ), SAMEPERIODLASTYEAR (‘Fecha'[Date]), VALUES (Testing_Table[Member])), EN BLANCO ()) G Año]), SAMEPERIODLASTYEAR (‘Fecha'[Date]) ), BLANCO())

Este se acerca ridículamente a la solución, pero de alguna manera agrega una fila vacía en el segundo trimestre de abril para Member1 en el subtotal de la fila, aunque no lo muestra en una matriz debido a que no cumple con los criterios. Esto me confunde mucho, ya que es el único problema que tengo. Vea abajo:
pbi1.PNG
Tengo mis datos de ejemplo aquí: datos de prueba
Tenga en cuenta que también estoy relacionando la tabla con una tabla de fecha estándar, en la fecha de compra.

EDITAR: Vale la pena mencionar que si una fecha de finalización está dentro de un mes, NO deberíamos incluir ese mes. De ahí el ejemplo en el que un miembro se va en 2020-04-15. Los datos de abril NO deben incluirse en los cálculos.

Amitchandak

@Anónimo, para varias fechas se une con la misma tabla de fechas. Tendrá una unión activa y otra inactiva. Luego use userelation active esos

consulte mi blog: https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-trend/ba-p/882970

o video: https: //www.youtube.com/watch? v = e6Y-l_JtCq4

Durante el año pasado, también puede utilizar

Año atrasado en ventas = CALCULATE (SUM (Sales[Sales Amount]), dateadd (‘Fecha'[Date],-1 año))

Para aprovechar al máximo la función de inteligencia del tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista de modelo. Además, únala con la columna de fecha de sus hechos. Refiera:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Vea si mi seminario web sobre inteligencia de tiempo puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-YTD-LYTD-Week-Over-Week/ mp / 1051626 # M184

Aprecie sus felicitaciones.

Anónimo

En respuesta a Amitchandak

No estoy seguro de cómo me ayudaría USERELATION, no estoy seguro de cómo usarlo, incluso mirando su material.

No necesito StartDate / EndDate como segmentaciones. Solo necesito filtrarlo correctamente a través de FILTER u otras expresiones, lo que he podido hacer con todos mis cálculos, excepto este del año anterior. Es complicado ya que primero necesito usar FILTER en StartDate / EndDates, y luego cambiar el contexto al año anterior.

El corte aún solo debe realizarse en la fecha de compra. Tal vez me equivoque, pero no veo cómo ayudará USERELATION.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *