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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Buscar recuentos basados en la primera transacción (Fecha de transacción MIN)

Hola Expertos,

Estoy tratando de implementar una lógica para calcular el recuento distinto de miembros en cada estado en función de su primera transacción dentro de un intervalo de fechas seleccionado.

He proporcionado los datos de muestra y el ejemplo de lo que estoy tratando de lograr. Aquí están los datos de ejemplo.

Clave de miembroFecha de transacciónestadomultiplicar
Usuario101/04/21Nueva unión1
Usuario102/06/21Cancelar-1
Usuario102/08/21reintegrar1
Usuario201/10/21Nueva unión1
Usuario202/10/21Cancelar-1
Usuario301/04/20Nueva unión1
Usuario301/05/20Cancelar-1
Usuario301/12/20reintegrar1
Usuario402/26/20Nueva unión1
Usuario502/22/20Nueva unión1
Usuario604/25/20Nueva unión1
Usuario604/29/20Cancelar-1
Usuario605/02/20reintegrar1
Usuario702/10/21reintegrar1
Usuario 802/25/20reintegrar1


ejemplo:

Medida 1

Si el usuario selecciona un intervalo de fechas del 1 de enero de 2021 al 28 de febrero de 2021

El usuario 1 tiene dos estados dentro de este intervalo de fechas donde multiplicador = 1

es decir, nueva unión y restablecimiento el 1/4/21 y 2/8/21 respectivamente

Quiero contar el Usuario 1 para su primera transacción dentro de ese período

Del mismo modo para otros usuarios. La lógica debe estar alrededor de la primera transacción donde multiplicador = 1 en el marco de tiempo seleccionado.

El resultado final que estoy buscando la Medida 1 es:

Nueva unión - 2 (Usuario 1, Usuario 2)

Cancelar - 0

Reincorporación - 1 (Usuario 7)


Medida 2

Otra medida debería contar lo mismo, pero para el mismo período del año pasado.

Así que para la fecha van desde el 1 de enero de 2020 hasta el 28 de febrero de 2020

El resultado final de la Medida 2 debe ser

Nueva unión - 3 (usuario 3, usuario 4, usuario 5)

Reincorporación - 1 (Usuario8)

Cancelar - 0


Este recuento debe ajustarse en función del período de tiempo seleccionado.


Hay un caso más en el que si un usuario selecciona el intervalo de fechas del 1 de enero de 2020 al 31 de diciembre de 2021, ¿cómo podemos hacer que estas medidas funcionen durante un año individual cuando se utilizan en una matriz visual?

Por ejemplo: Entre el 1 de enero de 2020 y el 31 de diciembre de 2021

Matrix debería mostrar algo como esto

JIGAR_0-1620180412626.png

¿Puede alguien por favor ayudarme con esta lógica? Realmente agradecería la ayuda.

Gracias

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@JIGAR

Medida 1 = CALCULATE(COUNT('Table'[State]),FILTER('Table',[Fecha de transacción]=CALCULATE(MIN([Fecha de transacción]),ALLEXCEPT('Table','Table'[Member Key])))))

V-pazhen-msft_1-1620376371920.png

Medida 2 = CALCULATE(COUNT('Table'[State]),FILTER('Table',[Fecha de transacción]=CALCULATE(MAX([Fecha de transacción]),ALLEXCEPT('Table','Table'[Member Key])))))
V-pazhen-msft_2-1620376387185.png

Por favor, compruebe el pbix para obtener más detalles, la medida 1 está en la página 1, la medida 2 está en la página 2.


Paul Zheng _ Equipo de apoyo a la comunidad
Si esta publicación ayuda, por favor acéptela como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@JIGAR

Medida 1 = CALCULATE(COUNT('Table'[State]),FILTER('Table',[Fecha de transacción]=CALCULATE(MIN([Fecha de transacción]),ALLEXCEPT('Table','Table'[Member Key])))))

V-pazhen-msft_1-1620376371920.png

Medida 2 = CALCULATE(COUNT('Table'[State]),FILTER('Table',[Fecha de transacción]=CALCULATE(MAX([Fecha de transacción]),ALLEXCEPT('Table','Table'[Member Key])))))
V-pazhen-msft_2-1620376387185.png

Por favor, compruebe el pbix para obtener más detalles, la medida 1 está en la página 1, la medida 2 está en la página 2.


Paul Zheng _ Equipo de apoyo a la comunidad
Si esta publicación ayuda, por favor acéptela como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@JIGAR, con la ayuda de una tabla de fechas

Medida1 =
VAR __id = MAX ('Tabla'[Clave miembro] )
VAR __date = CALCULATE ( MAX('Table'[Fecha de transacción]), ALLSELECTED ('Tabla'), 'Table'[Member Key] = __id )
CALCULATE ( Count ('Table'[Fecha de transacción] ), VALUES ('Table'[Member Key] ), 'Table'[Member Key] = __id,'Table'[Fecha de transacción] = __date )

Medida2 =
VAR __id = MAX ('Tabla'[Clave miembro] )
VAR __date = CALCULATE ( MAX('Table'[Fecha de transacción]), ALLSELECTED ('Tabla'), 'Table'[Member Key] = __id, sameperiodlastyear(Date[DATE) )
CALCULATE ( 'Table'[Fecha de transacción] ), VALUES ('Table'[Member Key] ), 'Table'[Member Key] = __id,'Table'[Fecha de transacción] = __date, sameperiodlastyear(Date[DATE) )

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y se ha marcado como la fecha en la vista de modelo. Además, únete a ella con la columna de fecha de tus hechos/s. Refer :radacad sqlbi Mi serie de vídeos Apreciar sus Felicitaciones.

@amitchandak :

Gracias por su rápida respuesta.

Estas medidas no parecen darme los resultados correctos. La medida 1 muestra valores que no son exactamente como se esperaba.

JIGAR_0-1620185692065.png

La medida 1 debería haber dado los valores como

Nueva unión - 2 (Usuario 1, Usuario 2)

Cancelar - 0

Reincorporación - 1 (Usuario 7)

La medida 2 muestra valores (resultado incorrecto) solo cuando se selecciona el intervalo de fechas para el año 2022. Sin embargo, no hay datos de 2022 en la tabla.

Gracias

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors