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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Recuentos diferenciados dinámicos por grupo teniendo en cuenta solo los registros más recientes

Hola amigos

Estoy atascado con un problema que parecía simple, pero no soy capaz de solucionarlo. Les pido apoyo.

Tengo una tabla (llamada FACT) que contiene datos provenientes de las visitas de monitoreo a los centros de salud. Las columnas de clave de esta tabla son:

FacilityID: una columna de texto tomada de la base de datos

Fecha de visita : columna de fecha tomada de la base de datos

Puntuación: una columna calculada basada en las observaciones registradas durante la visita.

Categoría de clasificación: una columna calculada en función de las puntuaciones. Tiene valores como "Bajo", "Medio", "Alto" basado en la columna de puntuación y valores de corte predefinidos de las puntuaciones.

Quiero crear un gráfico circular que muestre la distribución de las instalaciones entre los rangos en función de la visita más reciente a la instalación. El gráfico circular debe actualizarse dinámicamente cuando uso la fecha de visita como segmentación de datos. Por ejemplo, considere una instalación "A" que tenía un rango de "Bajo" basado en la primera visita realizada el 1 de enero. La misma instalación fue visitada el 10 de enero y clasificada como "Media". Si selecciono el rango de fechas, del 1 de enero al 10 de enero, entonces esta instalación solo debe contarse una vez con el rango "Medio" en el gráfico circular (ya que esa es la última observación). Si selecciono el rango de fechas del 1 de enero al 9 de enero, entonces esta instalación debe contarse con el rango "Bajo" (ya que es la observación más reciente para esta instalación en el rango de fechas especificado).

Pude identificar los registros más recientes mediante columnas calculadas y usé el filtro de nivel visual, pero esto no funcionó ya que las columnas calculadas no actualizan sus valores en función de las segmentaciones de datos.

Gracias de antemano por su ayuda.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@rammishra , Esto no ayudará en el caso de la columna calculada.

Tanto la puntuación como la categoría de rango deben medirse.

A continuación, necesita una tabla independiente para tener valores de la categoría de clasificación ("Baja", "Media", "Alta"), una la columna de esta tabla con su medida de categoría de clasificación en una nueva medida con un grupo por FacilityID

medida como, M2 , tienes que usar

M1= sumx(values(Table[FacilityID]),[score])

M2= calculate([M1], filter(Tabla, [categoría de rango] = max(categoría[categoría]))

consulte mi blog / video para obtener pasos más detallados


Agrupación en depósitos de segmentación dinámica
https://community.powerbi.com/t5/Quick-Measures-Gallery/Dynamic-Segmentation-Bucketing-Binning/m-p/1...


Segmentación dinámica, bucketing o binning: https://youtu.be/CuczXPj0N-k
#PowerBI5 #DynamicSegmentation #Bucketing #Binning #powerbiturns5 #kanerika #bu

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Desafortunadamente, no entiendo esta solución en absoluto 😞

Hola, estoy tratando de producir algo similar, pero esto no está funcionando para mí en absoluto. ¿Me dicen que el índice no es una función?

Tengo una tabla de actualizaciones que actualiza el estado de un usuario de aprobado, no aprobado en las categorías uno y categoría 2. También tengo una tabla de calendario

P. ej...

Nombre de usuarioCategoría 1Categoría 2Creado el
Usuario 2aprobadono aprobado5/1/23
Usuario 1aprobadono aprobado3/1/23
Usuario 2 aprobadoaprobado2/1/23
Usuario 1no aprobadoAprobado1/1/23
Usuario 3no aprobadoaprobado2/1/23

Me gustaría poder mostrar un gráfico de barras con un control deslizante de fecha que pueda mostrar, por ejemplo, el recuento de usuarios aprobados de categoría uno en un día elegido ... por lo tanto, si filtro a 4/1/23, entonces el recuento para el usuario aprobado de categoría 1 sería 2 (usuarios 1 y 2) y el recuento para la categoría 1 no aprobado sería 1 (usuario3), recuento de categoría 2 aprobado 2 (usuarios 2 y 3), categoría 2 no aprobado 1 (usuario1) ya que solo tendría en cuenta el último registro para un usuario no los anteriores. Así que la tabla de datos filtrada al 4/1/23 como se muestra a continuación

Nombre de usuarioCategoría 1Categoría 2latest Creado el
Usuario 2aprobadoaprobado2/1/23
Usuario 1aprobadono aprobado3/1/23
Usuario 3no aprobadoaprobado2/1/23

y gráfico de barras como

Mi_80_0-1685541463675.png

Hasta ahora tengo esta medida w

Medida =
CALCULATE(FIRSTNONBLANK(new_partnerlandscapehistory[createdon],1),
FILTER(new_partnerlandscapehistory,new_partnerlandscapehistory[createdon] = MAX(new_partnerlandscapehistory[createdon])))
que logra darme el último registro hasta esa fecha en una tabla, pero no puede hacer que esto funcione con un recuento en un gráfico de barras, ya que también cuenta los registros anteriores

Mi_80_1-1685541463800.png

Syndicate_Admin
Administrator
Administrator

Hola

Consulte la solución proporcionada por Amit en el hilo. El cálculo de las medidas debería proporcionarle la solución. Si está atascado, comparta más detalles para entenderlo mejor. También se podría lograr una solución alternativa mediante el uso de columnas calculadas (defina una columna booleana para verificar si el registro es "más reciente" según sus criterios y luego use esta columna para visualizar solo los valores más recientes en el gráfico).

Syndicate_Admin
Administrator
Administrator

Hola, lo siento, ¿Se resolvió esto? Tengo una consulta similar pero no veo cómo encuentras el registro más reciente.

Syndicate_Admin
Administrator
Administrator

Hay @rammishra ,

¿Si su problema se ha resuelto? Si no es así, ¿podría compartir algunos datos de ejemplo en la tabla FACT y el resultado esperado con un ejemplo específico y una lógica de back-end para proporcionarle una solución adecuada? Gracias.

Saludos

Syndicate_Admin
Administrator
Administrator

@rammishra , Esto no ayudará en el caso de la columna calculada.

Tanto la puntuación como la categoría de rango deben medirse.

A continuación, necesita una tabla independiente para tener valores de la categoría de clasificación ("Baja", "Media", "Alta"), una la columna de esta tabla con su medida de categoría de clasificación en una nueva medida con un grupo por FacilityID

medida como, M2 , tienes que usar

M1= sumx(values(Table[FacilityID]),[score])

M2= calculate([M1], filter(Tabla, [categoría de rango] = max(categoría[categoría]))

consulte mi blog / video para obtener pasos más detallados


Agrupación en depósitos de segmentación dinámica
https://community.powerbi.com/t5/Quick-Measures-Gallery/Dynamic-Segmentation-Bucketing-Binning/m-p/1...


Segmentación dinámica, bucketing o binning: https://youtu.be/CuczXPj0N-k
#PowerBI5 #DynamicSegmentation #Bucketing #Binning #powerbiturns5 #kanerika #bu

Gracias, Amit. Gran ayuda. Gracias por ser siempre tan servicial.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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