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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

No se puede conseguir que los filtros funcionen correctamente para la tabla de ciclo de vida del cliente de instantáneas

He creado una instantánea del comportamiento de mis clientes, inspirada en esta publicación: Clientes nuevos y que regresan: patrones dax
la tabla de instantáneas se llama 'CustomerEvents' y solo tiene 3 columnas:

cgrimes_0-1623762514459.png

Está relacionado con una tabla 'cliente maestro' y una tabla 'patrón de fechas'

También tengo una tabla de todas las transacciones de pedido relacionadas con la tabla 'cliente maestro' y la tabla 'maestro de fecha'.

cgrimes_1-1623762789328.png

Tengo muchas segmentaciones de datos y filtros que uso para profundizar en la tabla 'Pedidos de datos', que también quiero afectar a 'CustomerEvents'.

Quiero que esto ocurra a través de una relación entre el IDENTIFICADOR de cliente único. Solo quiero que todos los ID de cliente sin filtrar de la tabla 'Pedidos de datos' se cuenten desde 'CustomerEvents'.

Tengo varias medidas que calculan el número de clientes en un día determinado.

cgrimes_2-1623763103660.png

El código es simple. Por ejemplo, para un cliente perdido, es así:

# Lost Customers = 
CALCULATE (
    COUNTROWS( CustomerEvents ),
    KEEPFILTERS(CustomerEvents[Event] = "Lost" )

)*-1

He intentado que la tabla 'Pedidos de datos' se relacione con la tabla 'Master Cursmer' en ambos sentidos, pero solo se muestran los valores que coinciden con Customers AND Dates. Esto es un problema para los eventos de cliente perdidos porque no tienen fechas correspondientes a la tabla 'Pedidos de datos'.

¿Hay una mejor manera de permitir que los filtros de mis tablas de 'Pedidos de datos' se apliquen también a los 'CustomerEvents'



1 ACCEPTED SOLUTION

¡Encontré una solución!

cgrimes_0-1623961173694.png

El desafío fue que cuando graficaba los "pedidos de datos" contra el eje de fecha, ¡filtraba a los clientes en función de la fecha del pedido! Así que necesitaba obtener una lista filtrada de todos los clientes, independientemente de la fecha.

Cambié mi medida para hacer precisamente eso:

# Lost Customers = 
var custlist = CALCULATETABLE(SUMMARIZE('Data Orders',[Customer_Number-Seq]),ALL('Date Master'))
Return
CALCULATE (
    COUNTROWS( CustomerEvents ),
    KEEPFILTERS(CustomerEvents[Event] = "Lost" ),
    TREATAS(custlist,CustomerEvents[Customer_Number-Seq])    

)*-1

agregar la tabla resumida "Pedidos de datos" para los ID de cliente únicos que incluían TODAS las fechas hizo el truco. Luego usé TREATAS para proporcionar la relación que estaba buscando. Ahora los filtros y segmentaciones de datos funcionan como se esperaba.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Ahí, @cgrimes

No estoy seguro de lo que quieres.

¿Puede compartir un archivo de muestra y su resultado esperado para futuras investigaciones?

Saludos
Equipo de soporte de la comunidad _ Eason

Quiero evitar rebajar mi informe si puedo, así que intentaré explicarlo mejor.

Tengo una tabla de 'Pedidos de datos' que tiene muchas columnas que proporcionan detalles sobre la venta. La tabla describe aspectos como la región en la que se vendió el producto, cómo se vendió, el cliente, etc. Para mi informe de BI, un usuario puede filtrar estos aspectos de los pedidos. Por lo tanto, pueden ver los pedidos que eran solo para clientes de EE. UU. o que solo eran registradores de datos.

La tabla de "pedidos de datos" hace referencia a una tabla de fechas común en la fecha en que se realizó el pedido.
Los 'pedidos de datos' también hace referencia a una tabla maestra de clientes mediante un ID de cliente único.
Esta tabla tiene más de 3 millones de filas.

Para acelerar los análisis del comportamiento del cliente, creé una nueva tabla llamada 'CustomerEvents'. Analiza el historial de pedidos y el intervalo entre pedidos para clasificar los períodos en los que un cliente estuvo activo, perdido temporalmente, recuperado, etc. Es una tabla simple con un identificador de cliente único, el tipo de evento y su fecha.

Las tablas, 'Data Orders' y 'CustomerEvents', tienen una relación de uno a varios con la tabla de datos y la tabla maestra de clientes.

Lo que quiero es que cuando filtre el contenido en la tabla de 'pedidos de datos', filtre el contenido de los eventos del cliente. Pero no quiero que filtre las fechas, solo el identificador de cliente único.

Por ejemplo, si algunos filtraran la tabla 'Pedidos de datos', por lo que solo mostraba filas para los EE. UU., La tabla 'CustomerEvents' mostraría todas las filas de los ID de cliente únicos que permanecen en la tabla 'Pedidos de datos' después del filtrado.

He intentado hacer que la tabla 'Pedidos de datos' tenga una relación bidireccional con el maestro de clientes. Cuando hago eso, la tabla de pedidos de datos termina filtrando tanto los ID de cliente como las fechas. No quiero que filtre fechas.

¡Encontré una solución!

cgrimes_0-1623961173694.png

El desafío fue que cuando graficaba los "pedidos de datos" contra el eje de fecha, ¡filtraba a los clientes en función de la fecha del pedido! Así que necesitaba obtener una lista filtrada de todos los clientes, independientemente de la fecha.

Cambié mi medida para hacer precisamente eso:

# Lost Customers = 
var custlist = CALCULATETABLE(SUMMARIZE('Data Orders',[Customer_Number-Seq]),ALL('Date Master'))
Return
CALCULATE (
    COUNTROWS( CustomerEvents ),
    KEEPFILTERS(CustomerEvents[Event] = "Lost" ),
    TREATAS(custlist,CustomerEvents[Customer_Number-Seq])    

)*-1

agregar la tabla resumida "Pedidos de datos" para los ID de cliente únicos que incluían TODAS las fechas hizo el truco. Luego usé TREATAS para proporcionar la relación que estaba buscando. Ahora los filtros y segmentaciones de datos funcionan como se esperaba.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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