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
Matheuspvhdev
Frequent Visitor

FILTRAR BENEFICIARIOS ACTIVOS DURANTE UN PERÍODO DETERMINADO

¡Hola a todos!

Tengo una tabla llamada "historico" en registro todos los cambios de estatus de los beneficiarios de un plan de atención médica. Cada beneficiario puede cambiar el estatus a lo largo de los años. a continuación pongo un ejemplo de tabla:

image.pngMesa Historico

Mi gran problema es: Necesito filtrar dinámicamente esta tabla para obtener todos los registros igual o menor que una fecha determinada (por ejemplo, 12/31/2019) y, con el resultado del filtro anterior, para obtener el registro con la fecha máxima para cada beneficiario (representa para la columna BEN_COD_BENEFICIARIO). Por último, necesito filtrar a los beneficiarios con el estado "A" después del último filtro.

Proporciono, en este enlace, un volcado .xlsx de mi conjunto de datos para ayudarle a entender mejor mi problema.

Gracias por tu ayuda.

P.S.: Soy brasileño y mi inglés no es tan preciso. Si no entiendes algo, por favor pregúntame y trataré de explicarme mejor.

1 ACCEPTED SOLUTION

Hola @Matheuspvhdev ,

Creo que puede utilizar la siguiente medida:

medida: calcular (max(fecha), estado - "A")

y poner la fecha en una segmentación de datos, y usando el modo igual y menor que para la segmentación de fecha.

Por favor, inténtelo.

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

7 REPLIES 7
AiolosZhao
Memorable Member
Memorable Member

Hola @Matheuspvhdev ,

Tengo una pregunta:

1. obtener los datos máximos en primer lugar y luego

2. Estado del filtro: "A".

Así que si los datos máximos de un beneficiario son el estado "Yo", entonces usted no quiere mostrar el beneficiario, ¿verdad?

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Hola @AiolosZhao!

Sí, sólo quiero las filas donde el estado es "A". Las otras filas con el estado "I" no me importan.

Muchas gracias por su ayuda.

Hola @Matheuspvhdev ,

Creo que puede utilizar la siguiente medida:

medida: calcular (max(fecha), estado - "A")

y poner la fecha en una segmentación de datos, y usando el modo igual y menor que para la segmentación de fecha.

Por favor, inténtelo.

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Gracias @AiolosZhao!

Tu respuesta me ayuda a encontrar una manera de resolver mi problema. Muchas gracias.

Para las personas que quieren saber cómo resolver problemas como este, he creado dos medidas:

Max Historico Date = 
VAR CurrentName = SELECTEDVALUE(HIST_BENEFICIARIO[BEN_COD_BENEFICIARIO])

RETURN
MAXX(
    FILTER(ALLSELECTED(HIST_BENEFICIARIO), HIST_BENEFICIARIO[BEN_COD_BENEFICIARIO] = CurrentName),
    HIST_BENEFICIARIO[BEN_DATA_INCLUSAO_CONTRATO]
)

Active per period = 
VAR tbConsolidada = SUMMARIZE(
            HIST_BENEFICIARIO, 
            HIST_BENEFICIARIO[BEN_COD_BENEFICIARIO],
            "dtMax", [Max Historico Date]
    )
VAR tbwStatus = SUMMARIZE(
tbConsolidada, 
HIST_BENEFICIARIO[BEN_COD_BENEFICIARIO], 
[dtMax], 
    "STATUS", LOOKUPVALUE(HIST_BENEFICIARIO[STATUS], HIST_BENEFICIARIO[BEN_DATA_INCLUSAO_CONTRATO], 
[dtMax], 
HIST_BENEFICIARIO[BEN_COD_BENEFICIARIO], 
HIST_BENEFICIARIO[BEN_COD_BENEFICIARIO]
)
)
RETURN

CALCULATE(
    COUNTROWS(FILTER(tbwStatus, [STATUS] ="A"))
    
)

Puse la medida "Activo por período" en una tarjeta y, con una segmentación, puedo específico la fecha límite.


Gracias @AiolosZhao y @v-easonf-msft por su atención y ayuda.

Encantado de ayudarte.

Aiolos Zhao





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




v-easonf-msft
Community Support
Community Support

Hola , @Matheuspvhdev

¿No estoy seguro de a qué se refiere el "resultado del filtro anterior", o los datos de la tabla filtrada?

¿Puede mostrar el resultado final que desea en función de la fecha determinada de los datos (por ejemplo, 12/31/2019)?

Ayudaría enormemente.

Saludos
Equipo de soporte de la comunidad _ Eason

Hola, @v-easonf-msft !

Con la expresión "resultado del filtro anterior" me refiere a la tabla Histórico después de que se haya filtrado para los registros iguales o menores que la fecha límite (por ejemplo, 12/31/2019). Por ejemplo:

  • Tengo el siguiente conjunto de datos (fechas en formato brasileño: "dd/MM/aaaa hh:mm:ss"):

COD_BENEFICIARIO EstadoBEN_DATA
0000079000010A24/06/2010 00:00:00
0000079000010I13/10/2010 17:58:44
9902252500019A11/03/2019 00:00:00

  • En primer lugar, necesito filtrar los registros iguales o menores que 12/31/2019 y seleccionar solo la fecha máxima para cada COD_BENEFICIARIO. Algo como esto:

COD_BENEFICIARIO EstadoBEN_DATA
0000079000010I13/10/2010 17:58:44
9902252500019A11/03/2019 00:00:00

  • Con el "resultado del filtro anterior", la tabla anterior, he seleccionado sólo las filas donde el estado es igual a "A",en este caso sólo la última fila:

COD_BENEFICIARIO EstadoBEN_DATA
9902252500019A11/03/2019 00:00:00

Esa es la lógica, pero no sé cómo implementar esto en PowerBI.

Gracias por tu preciosa ayuda.

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.

Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.