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

Para cada valor de la lista y varias condiciones

Hola a todos

Tengo un conjunto de datos para los resultados de la encuesta de clientes, y clasificamos a cada cliente como Bueno, Pasivo, Débil. Mi objetivo es crear un sankey y rastrear a los clientes que suben o bajan las clasificaciones por período de encuesta.

La tabla de objetivos que quiero se ve algo como esto:

Inicio del períodoClasificación de inicio de períodoFin del períodoClasificación de fin de períodoValor
2T 2020Bien4T 2020Bien
2T 2020Bien4T 2020Pasivo
2T 2020Bien4T 2020Débil
2T 2020Pasivo4T 2020Bien
2T 2020Pasivo4T 2020Pasivo
2T 2020Pasivo4T 2020Débil
2T 2020Débil4T 2020Bien
2T 2020Débil4T 2020Pasivo
2T 2020Débil4T 2020Débil
4T 2020Bien2T 2021Bien
4T 2020Bien2T 2021Pasivo
4T 2020Bien2T 2021Débil

Que es esencialmente una matriz de cada período de encuesta, la clasificación, luego el período de procedimiento y la clasificación. Tengo esta tabla configurada, el desafío es calcular el valor. Entonces, la primera fila es el número de clientes que fueron clasificados como buenos en una encuesta, luego buenos en el procedimiento.

Estoy intentando esto con un cálculo de columna. Esencialmente, quiero contar a partir de la tabla de datos de la encuesta principal, el número de clientes donde el período de la encuesta = inicio del período y la clasificación = Clasificación del inicio del período Y el período de la encuesta = final del período y la clasificación = Clasificación del final del período. Esto, por supuesto, crea un conflicto porque no se puede filtrar la tabla dos veces.

Así que estoy pensando que quiero hacer algo como, para cada ID de cliente en una tabla filtrada (que es el período de inicio y la clasificación) que también aparece en otra tabla filtrada (período final y clasificación). Solo que parece que no puedo hacer que funcione.

Los datos de mi encuesta de clientes son como los siguientes:

ID de clientePeríodo de la encuestaClasificación
1002T 2020Pasivo
1012T 2020Bien
1004T 2020Bien
1014T 2020Bien

Espero que esto tenga sentido. Gracias

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola a todos,

Lo resolví al final con esto:

Dónde Source_Period = Sankey[Source_Period]
Dónde Source_Group = Sankey[Source_Group]
Dónde Target_Period = Sankey[Target_Period]
Dónde Target_Group = Sankey[Target_Group]

Dónde Source_Table = Filtro(Customer_Survey_Main, Y(Customer_Survey_Main[Survey_Period] = Source_PeriodCliente_Survey_Main[NPS_Group] = Source_Group))
Dónde Target_Table = Filtro(Cliente_Survey_Main, Y(Cliente_Survey_Main[Survey_Period] = Target_PeriodCliente_Survey_Main[NPS_Group] = Target_Group))

Devolución Cuentas(Filtro(Source_Table, CONTIENE(Target_Table,[CustomerUsername]Cliente_Survey_Main[CustomerUsername] )))

Entonces, básicamente, para cada fila, creo una tabla virtual con todos los clientes que dieron una respuesta en esa encuesta, luego otra tabla con su respuesta para la siguiente encuesta. A continuación, cuente el número de veces que aparece el mismo cliente en ambos.


Esto funcionó. Pero no se actualiza con segmentaciones de datos y filtros de página. Por lo tanto, tendrá que encontrar una manera de hacerlo en la mesa principal de la encuesta.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola a todos,

Lo resolví al final con esto:

Dónde Source_Period = Sankey[Source_Period]
Dónde Source_Group = Sankey[Source_Group]
Dónde Target_Period = Sankey[Target_Period]
Dónde Target_Group = Sankey[Target_Group]

Dónde Source_Table = Filtro(Customer_Survey_Main, Y(Customer_Survey_Main[Survey_Period] = Source_PeriodCliente_Survey_Main[NPS_Group] = Source_Group))
Dónde Target_Table = Filtro(Cliente_Survey_Main, Y(Cliente_Survey_Main[Survey_Period] = Target_PeriodCliente_Survey_Main[NPS_Group] = Target_Group))

Devolución Cuentas(Filtro(Source_Table, CONTIENE(Target_Table,[CustomerUsername]Cliente_Survey_Main[CustomerUsername] )))

Entonces, básicamente, para cada fila, creo una tabla virtual con todos los clientes que dieron una respuesta en esa encuesta, luego otra tabla con su respuesta para la siguiente encuesta. A continuación, cuente el número de veces que aparece el mismo cliente en ambos.


Esto funcionó. Pero no se actualiza con segmentaciones de datos y filtros de página. Por lo tanto, tendrá que encontrar una manera de hacerlo en la mesa principal de la encuesta.
Syndicate_Admin
Administrator
Administrator

Hasta ahora, bien. Lo único que realmente falta es una búsqueda del estado "anterior" para cada entrada. Puede implementarlo en Power Query o DAX. Proporcione datos de muestra desinfectados que cubran completamente su problema. Pegue los datos en una tabla de su publicación (como lo hizo) o use uno de los servicios de archivos.

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.