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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Optimización de un expressiong de doble filtro

El siguiente objetivo es identificar "grupos" de incidentes, definidos como que ocurren con un radio determinado y un período de tiempo determinado.

Prueba de tiempo del clúster =
CALCULAR(
DISTINCTCOUNT(
'SOLICITUDES DE SERVICIO'[Resumen de detalles maestros.ID de registro]),
FILTRO(
"SOLICITUDES DE SERVICIO",
ABS('SOLICITUDES DE SERVICIO'[ReceivedDTG]-EARLIEST('SOLICITUDES DE SERVICIO'[ReceivedDTG]))<0.0416
)
)

Este es el tiempo del clúster (detecta todas las apariciones dentro de una hora antes/después de una fila determinada)

Prueba de cálculo de clúster =
CALCULAR(
DISTINCTCOUNT(
'SOLICITUDES DE SERVICIO'[Resumen de detalles maestros.ID de registro]),
FILTRO(
"SOLICITUDES DE SERVICIO",
(
SQRT(
(«SOLICITUDES DE SERVICIO»[AbsLatitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLatitude])^2
+
('SOLICITUDES DE SERVICIO'[AbsLongitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLongitude])^2
)
)<0.001
))

Esta es la ubicación del clúster: detecta dentro de un radio circular determinado de la fila.

Ambos filtros funcionan bien individualmente, pero cuando los combino, parece haber algún tipo de sub-optimización y por lo tanto nunca completan (pegarse a "Trabajar en él"):


Prueba de cálculo de clúster =
CALCULAR(
DISTINCTCOUNT(
'SOLICITUDES DE SERVICIO'[Resumen de detalles maestros.ID de registro]),
FILTRO(
"SOLICITUDES DE SERVICIO",
(
SQRT(
(«SOLICITUDES DE SERVICIO»[AbsLatitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLatitude])^2
+
('SOLICITUDES DE SERVICIO'[AbsLongitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLongitude])^2
)
)<0.001
),
FILTRO(
"SOLICITUDES DE SERVICIO",
ABS('SOLICITUDES DE SERVICIO'[ReceivedDTG]-EARLIEST('SOLICITUDES DE SERVICIO'[ReceivedDTG]))<0.0416
)
)
¿Algún consejo para optimizar?

1 ACCEPTED SOLUTION

Mañana

¡Gracias por este consejo! Tener dos filtros no funcionó para mí, pero una ligera revisión del código hizo:

Prueba de cálculo de clúster =
CALCULAR(
DISTINCTCOUNT(
'SOLICITUDES DE SERVICIO'[Resumen de detalles maestros.ID de registro]),
FILTRO(
"SOLICITUDES DE SERVICIO",
(
SQRT(
(«SOLICITUDES DE SERVICIO»[AbsLatitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLatitude])^2
+
('SOLICITUDES DE SERVICIO'[AbsLongitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLongitude])^2
)
)<0.001
&&
ABS('SOLICITUDES DE SERVICIO'[ReceivedDTG]-EARLIEST('SOLICITUDES DE SERVICIO'[ReceivedDTG]))<0.0416
))

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

No @zhivana

Cuando aplique varios filtros para 'SOLICITUDES DE SERVICIO'[Resumen de detalles maestros.Id.Id.] , debe asegurarse de que hay datos que pueden cumplir los criterios de filtro al mismo tiempo. De lo contrario, los datos devueltos estarán vacíos.

por ejemplo:

Datos originales

Ailsa-msft_0-1621586609266.png

Luego creo dos medidas para filtrar los datos que quiero

(1) Medida = CALCULATE(DISTINCTCOUNT('Table'[ID]),FILTER('Table','Table'[Name]="A"),FILTER('Table','Table'[Date]=2016))

Ailsa-msft_1-1621586609267.png

(2) Medida 2 = CALCULATE(DISTINCTCOUNT('Table'[ID]),FILTER('Table','Table'[Name]="A"),FILTER('Table','Table'[Date]=2017))

Ailsa-msft_2-1621586609267.png

Ahora puedes ver la diferencia. Los dos filtros de la primera fórmula no cruzan datos, por lo que el resultado devuelto está vacío.

Saludos

Equipo de apoyo comunitario _ Ailsa Tao

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Mañana

¡Gracias por este consejo! Tener dos filtros no funcionó para mí, pero una ligera revisión del código hizo:

Prueba de cálculo de clúster =
CALCULAR(
DISTINCTCOUNT(
'SOLICITUDES DE SERVICIO'[Resumen de detalles maestros.ID de registro]),
FILTRO(
"SOLICITUDES DE SERVICIO",
(
SQRT(
(«SOLICITUDES DE SERVICIO»[AbsLatitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLatitude])^2
+
('SOLICITUDES DE SERVICIO'[AbsLongitude]-EARLIEST('SOLICITUDES DE SERVICIO'[AbsLongitude])^2
)
)<0.001
&&
ABS('SOLICITUDES DE SERVICIO'[ReceivedDTG]-EARLIEST('SOLICITUDES DE SERVICIO'[ReceivedDTG]))<0.0416
))

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

May 2025 Monthly Update

Fabric Community Update - May 2025

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

Top Solution Authors
Top Kudoed Authors