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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda de la fórmula

Estoy tratando de recrear una fórmula y no estoy seguro de lo que estoy haciendo mal.

Estoy tratando de calcular un número de incidentes que han estado abiertos antes del intervalo de fechas seleccionado y se han cerrado después de esa hora, o que no se han cerrado en absoluto.

De modo que cuando selecciono Oct2024, veo incidentes que estaban abiertos al principio de MArch y no cerrados en MArch, o en absoluto, lo mismo para cualquier otro mes

Tengo una cortadora de dim_dat con meses seleccionados: por ejemplo, octubre de 2024, esta tabla dim se vincula a mi vw_PM_Dashboard en fecha dim = date_problem_created, relación activa, ambas fechas están en formato FECHA

En SQL estoy haciendo una comprobación de la siguiente manera:

Select distinct IDINC
from [dbo].[vw_PM_Dashboard] 
where [Date_Problem_Created] < '2023-10-01 00:00:00'
and ([Date_Problem_Closed] > '2023-11-01 00:00:00' or [Date_Problem_Closed]  is null )

Y tengo una medida en PBI:

Opened Before Selected Period and Unsolved in Period= 
VAR SelectedStartDate = MIN(dim_date[Date]) -- Get the start date from the slicer
VAR SelectedEndDate = MAX(dim_date[Date]) -- Get the end date from the slicer
return
CALCULATE(DISTINCTCOUNT(vw_PM_Dashboard[IDINC]),
'vw_PM_Dashboard'[Date_Problem_Created] < SelectedStartDate,
'vw_PM_Dashboard'[Date_Problem_Closed] > SelectedEndDate
)


No tengo ni idea de por qué SQL me muestra la cantidad correcta: aproximadamente 1k ID, y la medida en Power BI solo muestra Blank.

¿Alguien podría arrojar algo de luz, por favor? ¿Cómo puedo resolverlo? ¡Gracias!

** Me di cuenta de que el problema es que esta fórmula filtra los incidentes a los abiertos en mi período de fecha, así que ajusté mi fórmula: pero esto solo me da espacios en blanco.

Count_Open_Problems =
VAR SelectedStartDate = MIN(dim_date[Fecha]) -- Obtener la fecha de inicio seleccionada de la cortadora
VAR SelectedEndDate = MÁXIMO(dim_date[Fecha]) -- Obtener la fecha de finalización seleccionada de la segmentadora
DEVOLUCIÓN
CALCULAR(
DISTINCTCOUNT(vw_PM_Dashboard[IDINC]),
'vw_PM_Dashboard'[Date_Created] < SelectedStartDate, -- Incluya todos los problemas creados antes o en la fecha de finalización
O(
'vw_PM_Dashboard'[Date_Closed] > SelectedEndDate, -- Cerrado en o después de la fecha de inicio
ISBLANK('vw_PM_Dashboard'[Date_Closed]) -- Todavía abierto (sin fecha de cierre)
),
ELIMINAR FILTROS(dim_date[Fecha]) -- Asegúrese de que la segmentadora no filtre las fechas de apertura
)
3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hola, @mazwro

Gracias por el formulario de respuesta @rajendraongole1. Puede proporcionar algunos archivos o tablas pbix sin datos confidenciales, la salida esperada basada en esos datos y la lógica para lograr ese efecto, lo que le ayudará a resolver el problema más rápido. Gracias por su comprensión.

Estas son algunas notas:
Si no está seguro de cómo cargar datos, consulte https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Muestre el resultado esperado en función de los datos de muestra que proporcionó.
¿Quieres respuestas más rápidas? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...

Saludos
Yang

Equipo de apoyo a la comunidad

Syndicate_Admin
Administrator
Administrator

Hola @mazwro - CALCULATE no procesa directamente la lógica OR como se esperaba cuando se usa dentro de sus argumentos de filtro. En su lugar, evalúa cada condición de forma independiente, lo que puede dar lugar a resultados inesperados, como valores en blanco.

Count_Open_Problems =
VAR SelectedStartDate = MIN(dim_date[Date]) -- Fecha de inicio desde la segmentación
VAR SelectedEndDate = MAX(dim_date[Date]) -- Fecha de finalización de la segmentación
DEVOLUCIÓN
CALCULAR(
DISTINCTCOUNT(vw_PM_Dashboard[IDINC]),
FILTRO(
vw_PM_Dashboard,
vw_PM_Dashboard[Date_Created] < SelectedStartDate && -- Creado antes del período seleccionado
(
vw_PM_Dashboard[Date_Closed] > SelectedEndDate || -- Cerrado después del período seleccionado
ISBLANK(vw_PM_Dashboard[Date_Closed]) -- O aún abierto
)
),
REMOVEFILTERS(dim_date[Date]): omitir los filtros de segmentación en la dimensión de fecha
)

Compruebe los resultados en SQL y Power BI para asegurarse de que los datos coinciden según lo esperado.

Espero que esto ayude.

Hola @rajendraongole1 gracias por la ayuda. Sin embargo, no estoy seguro de si se trata de un error.

Para throubleshoot, intenté con una consulta más simple, donde para el mes de la segmentación obtengo recuentos de incidentes abiertos antes de la fecha de inicio y cerrados después de la fecha de finalización y esto también me da espacios en blanco y no entiendo por qué. ¿Me puedes ayudar?

VAR SelectedStartDate = MIN(dim_date[Date]) -- Start date from slicer
VAR SelectedEndDate = MAX(dim_date[Date]) -- End date from slicer
RETURN
CALCULATE(
DISTINCTCOUNT(vw_PM_Dashboard[IDINC]),

vw_PM_Dashboard,
vw_PM_Dashboard[Date Created] < SelectedStartDate && -- Created before the selected period
vw_PM_Dashboard[Date Closed] > SelectedEndDate-- Closed after the selected period
,
REMOVEFILTERS(dim_date[Date]) -- Ignore slicer filters on the date dimension
)




Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors