Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon'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.
Hola a todos, tengo una tabla de acciones que ha elevado la fecha, la fecha cerrada, la fecha de vencimiento y los campos de estado. Necesito crear un objeto visual que dé durante los últimos 6 meses dentro del SLA, atrasado, 30 más días de acciones vencidas como al final del mes. Dentro de las acciones de SLA se encuentran acciones que estaban abiertas al final del mes pero no más allá de su fecha de vencimiento, las acciones vencidas son acciones que estaban abiertas pero que estaban más allá de su fecha de vencimiento, 30 más acciones vencidas eran acciones vencidas que tenían más de 30 días después de su fecha de vencimiento. La definición de acciones abiertas se genera al final del mes y el estado abierto O status - cerrado, fecha elevada antes del final del mes y la fecha cerrada es después del final del mes. En la actualidad, el gráfico se genera mediante una vista SQL que no es ideal, ya que no permite cortar y cortar el objeto visual. Me gustaría saber si puedo crear una medida que me daría dentro del SLA, atrasado y 30 más días de retraso como al final del mes basado en las condiciones anteriores para los últimos 6 meses? Gracias.
Solved! Go to Solution.
Hola @v-shex-msft
Me las arreglé para resolverlo con tu ayuda. La solución implicada en el uso de la medida DAX a continuación. La tabla de Power BI ahora coincide con la tabla de salida deseada que publiqué anteriormente. Gracias de nuevo por su apoyo.
Measure 3 =
VAR currDate =
MAX ( dateTable[Date] )
RETURN
SWITCH (
SELECTEDVALUE ( Category[Type] ),
"Raised",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
)
)
,
"Within SLA",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR([CUrrentStatus] = "Open",[CUrrentStatus]="Closed"&&[DateClosed]>CurrDate) && [DUeDate]>= currDate)
),
"Overdue",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR([CUrrentStatus] = "Open",[CUrrentStatus]="Closed"&&[DateClosed]>CurrDate) && [DUeDate]< currDate)
),
"Overdue 30 plus",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR([CUrrentStatus] = "Open",[CUrrentStatus]="Closed"&&[DateClosed]>CurrDate) && [DUeDate]< currDate && DATEDIFF('Table'[DUeDate],currDate,DAY)>=30)
)
)
Hola, como se sugiere aquí son los datos de acciones ficticios y la tabla de salida deseada para la visualización de PBI. Necesito que sea un rango de fechas dinámico (es decir, rodando 6 meses para 4 métricas enumeradas). He experimentado con combinaciones de tabla de fechas a la tabla de acciones sin procesar y varias medidas DAX basadas en estas relaciones inactivas, pero en vano. Una vez más cualquier ayuda sería muy apreciada.
Datos crudos ficticios
ActionID | CUrrentStatus | DateRaised | Fecha Cerrada | DUeDate |
1 | Cerrado | 16/03/2020 | 19/05/2020 | 13/08/2020 |
2 | Abierto | 24/01/2020 | 05/11/2020 | |
3 | Abierto | 07/03/2020 | 31/12/2020 | |
4 | Cerrado | 23/03/2020 | 31/05/2020 | 19/12/2020 |
5 | Abierto | 17/01/2020 | 02/07/2020 | |
6 | Cerrado | 26/02/2020 | 26/04/2020 | 05/04/2020 |
7 | Abierto | 30/03/2020 | 08/12/2020 | |
8 | Cerrado | 23/06/2020 | 29/07/2020 | 01/10/2020 |
9 | Abierto | 14/01/2020 | 20/12/2020 | |
10 | Cerrado | 17/02/2020 | 13/06/2020 | 31/12/2020 |
11 | Cerrado | 18/06/2020 | 19/06/2020 | 03/08/2020 |
12 | Cerrado | 25/04/2020 | 14/05/2020 | 16/08/2020 |
13 | Cerrado | 13/01/2020 | 21/04/2020 | 09/12/2020 |
14 | Cerrado | 04/03/2020 | 28/03/2020 | 06/06/2020 |
15 | Cerrado | 18/02/2020 | 26/04/2020 | 21/02/2020 |
16 | Cerrado | 19/01/2020 | 25/05/2020 | 14/07/2020 |
17 | Abierto | 07/02/2020 | 03/11/2020 | |
18 | Abierto | 07/05/2020 | 18/10/2020 | |
19 | Cerrado | 28/06/2020 | 05/07/2020 | 19/09/2020 |
20 | Cerrado | 22/05/2020 | 01/06/2020 | 16/07/2020 |
21 | Cerrado | 23/04/2020 | 31/05/2020 | 09/07/2020 |
22 | Cerrado | 15/01/2020 | 11/05/2020 | 26/02/2020 |
23 | Abierto | 21/06/2020 | 01/09/2020 | |
24 | Abierto | 06/02/2020 | 18/12/2020 | |
25 | Cerrado | 17/04/2020 | 05/06/2020 | 11/11/2020 |
26 | Cerrado | 14/06/2020 | 20/06/2020 | 11/11/2020 |
27 | Cerrado | 08/06/2020 | 27/06/2020 | 12/12/2020 |
28 | Abierto | 05/03/2020 | 22/04/2020 | |
29 | Cerrado | 25/04/2020 | 17/05/2020 | 05/06/2020 |
30 | Abierto | 29/04/2020 | 30/08/2020 |
Tabla de salida deseada para visualización
Enero-20 | Feb-20 | Mar-20 | Abr-20 | 20 de mayo | Junio-20 | |
Elevado | 6 | 5 | 6 | 5 | 2 | 6 |
Dentro del SLA | 6 | 9 | 14 | 16 | 12 | 12 |
Atrasado | 0 | 2 | 2 | 2 | 1 | 1 |
Vencen a 30 más | 0 | 0 | 2 | 1 | 1 | 1 |
Hola @mindem,
Intento crear dos tablas calculadas con valores de fecha y categorías que se usan en la matriz y escribir una fórmula de medida para resumen de los resultados en función de la categoría de matriz y los rangos de datos de la tabla sin procesar. Puede probarlo si cumple con sus requisitos.
Mesas:
Category =
DATATABLE (
"Type", STRING,
"Index", INTEGER,
{
{ "Raised", 1 },
{ "Within SLA", 2 },
{ "Overdue", 3 },
{ "Overdue 30 plus", 4 }
}
)
dateTable =
VAR list =
UNION (
ALL ( 'Table'[DateClosed] ),
ALL ( 'Table'[DateRaised] ),
ALL ( 'Table'[DUeDate] )
)
RETURN
CALENDAR ( MINX ( list, [DateClosed] ), MAXX ( list, [DateClosed] ) )
Medida:
Measure =
VAR currDate =
MAX ( dateTable[Date] )
RETURN
SWITCH (
SELECTEDVALUE ( Category[Type] ),
"Raised",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
&& OR ( [DateClosed] > currDate, [DateClosed] = BLANK () )
)
),
"Within SLA",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
&& [DateClosed] <= [DUeDate]
)
),
"Overdue",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
&& OR ( [DateClosed] > [DUeDate], [DateClosed] = BLANK () )
)
),
"Overdue 30 plus",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
&& OR ( [DateClosed] > [DUeDate], [DateClosed] = BLANK () )
&& DATEDIFF (
[DUeDate],
MIN ( [DateClosed], MAXX ( ALL ( dateTable[Date] ), [Date] ) ),
DAY
) >= 30
)
)
) + 0
saludos
Xiaoxin Sheng
Hola Xiaoxin, gracias por su trabajo en esto, pero esto no es exactamente lo que estoy buscando. Dentro del SLA, las medidas Vencidas y vencidas 30 más deben ser de hasta e incluyendo el mes de presentación de informes, lo que significa que deben ser acumulativas). Así que para febrero, por ejemplo, necesito saber cuántas acciones planteadas hasta el final de febrero fueron dentro del SLA al final de febrero. Esto incluye ahora las acciones cerradas que estaban abiertas al final de febrero (determinadas en función de la fecha de cierre de la acción).
Hola @mindem ,
Tal vez usted puede probar este, ahora la fórmula va a rodar en el rango de fechas (incluir registros anteriores) basado en la fecha actual:
Measure 2 =
VAR currDate =
MAX ( dateTable[Date] )
RETURN
SWITCH (
SELECTEDVALUE ( Category[Type] ),
"Raised",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
&& OR ( [DateClosed] > currDate, [DateClosed] = BLANK () )
)
),
"Within SLA",
COUNTROWS (
FILTER ( 'Table', [DateRaised] <= currDate && [DateClosed] <= [DUeDate] )
),
"Overdue",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR ( [DateClosed] > [DUeDate], [DateClosed] = BLANK () )
)
),
"Overdue 30 plus",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR ( [DateClosed] > [DUeDate], [DateClosed] = BLANK () )
&& DATEDIFF (
[DUeDate],
MIN ( [DateClosed], MAXX ( ALL ( dateTable[Date] ), [Date] ) ),
DAY
) >= 30
)
)
)
saludos
Xiaxoin Sheng
Hola @v-shex-msft
Me las arreglé para resolverlo con tu ayuda. La solución implicada en el uso de la medida DAX a continuación. La tabla de Power BI ahora coincide con la tabla de salida deseada que publiqué anteriormente. Gracias de nuevo por su apoyo.
Measure 3 =
VAR currDate =
MAX ( dateTable[Date] )
RETURN
SWITCH (
SELECTEDVALUE ( Category[Type] ),
"Raised",
COUNTROWS (
FILTER (
'Table',
[DateRaised] IN VALUES ( dateTable[Date] )
)
)
,
"Within SLA",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR([CUrrentStatus] = "Open",[CUrrentStatus]="Closed"&&[DateClosed]>CurrDate) && [DUeDate]>= currDate)
),
"Overdue",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR([CUrrentStatus] = "Open",[CUrrentStatus]="Closed"&&[DateClosed]>CurrDate) && [DUeDate]< currDate)
),
"Overdue 30 plus",
COUNTROWS (
FILTER (
'Table',
[DateRaised] <= currDate
&& OR([CUrrentStatus] = "Open",[CUrrentStatus]="Closed"&&[DateClosed]>CurrDate) && [DUeDate]< currDate && DATEDIFF('Table'[DUeDate],currDate,DAY)>=30)
)
)
Hola @mindem,
Por favor, comparta algunos datos ficticios y los resultados esperados, entonces podemos probar la fórmula de codificación en él.
Cómo obtener respuestas a su pregunta rápidamente
saludos
Xiaoxin Sheng
@mindem , En este Necesita una tabla de fechas unida con todas las fechas y Una unión se activará y otras estarán inactivas. Puede activar la unión mediante userelation.
Lo mejor para mostrar 6 meses es la segmentación de fecha relativa :https://docs.microsoft.com/en-us/power-bi/visuals/desktop-slicer-filter-date-range
si no, entonces siga este approch :https://www.youtube.com/watch?v=duMSovyosXE
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únete a ella con la columna de fecha de tus hechos. recomienda:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
Apreciamos tus Felicitaciones.
Déjame saber si este video te ayuda a https://www.youtube.com/watch?v=3bV9BfB3_Oc&t=1s, por favor comparte tus kudoes
Vijay Perepa
Proud to be a Super User!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.