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, necesito calcular el tiempo entre cada cambio de estado, tengo un índice (ID_HISTORIAL)
Por ejemplo:
El tiempo entre 843453 y 844104 es de 2 días.
El tiempo entre 844104 y 845402 es de 4 días.
El tiempo entre 845402 y 846679 es de 2 días.
En otro caso, ID_TAREA es diferente.
El tiempo entre 845018 y 846680 es de 3 días.
Todos ellos, agrupados por ID_TAREA
Gracias
Solved! Go to Solution.
Hola @sergiogonzalez
Construyo una nueva mesa para lograr tu objetivo.
En primer lugar, construyo una columna de índice como antes.
var _rank =
RANKX (
FILTER ( 'Table', 'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] ) ),
'Table'[FECHA ENTREGADO].[Day],
,
ASC,
DENSE
)
Luego construyo una nueva columna calculada para calcularlos días entre cada cambio de columna "estado".
Time =
VAR _Lastestado =
CALCULATE (
SUM ( 'Table'[ESTADO] ),
FILTER ( 'Table', 'Table'[var _rank] = EARLIER ( 'Table'[var _rank] ) - 1 )
)
VAR _DATE1 =
MAXX (
FILTER (
'Table',
'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] )
&& 'Table'[var _rank] < EARLIER ( 'Table'[var _rank] )
),
'Table'[FECHA ENTREGADO]
)
VAR _DATE2 = 'Table'[FECHA ENTREGADO]
RETURN
IF (
'Table'[var _rank] = 1,
1,
IF ( 'Table'[ESTADO] - _Lastestado <> 0, DATEDIFF ( _DATE1, _DATE2, DAY ), 1 )
)
Resultado:
Puede descargar el archivo pbix desde este enlace: Calcular la fecha entre los cambios de estado
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @sergiogonzalez
¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su problema o compártame con su archivo pbix de su Onedrive for Business.
Saludos
Rico Zhou
Hola @sergiogonzalez
Construyo una mesa como la tuya para hacerme una prueba.
Mesa:
Cree un rango para cada ID TARER por columna calculada.
var _rank =
RANKX (
FILTER ( 'Table', 'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] ) ),
'Table'[FECHA ENTREGADO].[Day],
,
ASC,
DENSE
)
Resultado:
Entonces construyo una medida para lograr tu objetivo.
ESTADO =
VAR _MIN =
MINX (
FILTER (
ALL ( 'Table' ),
'Table'[ID TARER] = MAX ( 'Table'[ID TARER] )
&& 'Table'[var _rank] = MAX ( 'Table'[var _rank] )
&& CALCULATE (
COUNTROWS ( 'Table' ) >= 2,
FILTER (
ALL ( 'Table' ),
'Table'[ID TARER] = MAX ( 'Table'[ID TARER] )
&& 'Table'[var _rank] = MAX ( 'Table'[var _rank] )
)
)
),
'Table'[FECHA ENTREGADO]
)
VAR _DATE1 =
MAXX (
FILTER (
ALL ( 'Table' ),
'Table'[ID TARER] = SUM ( 'Table'[ID TARER] )
&& 'Table'[var _rank] < SUM ( 'Table'[var _rank] )
),
'Table'[FECHA ENTREGADO]
)
VAR _DATE2 =
MAX ( 'Table'[FECHA ENTREGADO] )
RETURN
IF (
SUM ( 'Table'[var _rank] ) = 1,
1,
IF (
MAX ( 'Table'[FECHA ENTREGADO] ) = _MIN,
1,
DATEDIFF ( _DATE1, _DATE2, DAY )
)
)
Resultado:
Puede descargar el archivo pbix desde este enlace:Calcular la fecha entre los cambios de estado
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias, pero no entiendo por qué cambias la columna "estado", necesito una nueva columna con los tiempos entre cada cambio de columna "estado", y en caso de un estado repetido, solo cuenta la primera fecha.
Gracias
Hola @sergiogonzalez
Construyo una nueva mesa para lograr tu objetivo.
En primer lugar, construyo una columna de índice como antes.
var _rank =
RANKX (
FILTER ( 'Table', 'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] ) ),
'Table'[FECHA ENTREGADO].[Day],
,
ASC,
DENSE
)
Luego construyo una nueva columna calculada para calcularlos días entre cada cambio de columna "estado".
Time =
VAR _Lastestado =
CALCULATE (
SUM ( 'Table'[ESTADO] ),
FILTER ( 'Table', 'Table'[var _rank] = EARLIER ( 'Table'[var _rank] ) - 1 )
)
VAR _DATE1 =
MAXX (
FILTER (
'Table',
'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] )
&& 'Table'[var _rank] < EARLIER ( 'Table'[var _rank] )
),
'Table'[FECHA ENTREGADO]
)
VAR _DATE2 = 'Table'[FECHA ENTREGADO]
RETURN
IF (
'Table'[var _rank] = 1,
1,
IF ( 'Table'[ESTADO] - _Lastestado <> 0, DATEDIFF ( _DATE1, _DATE2, DAY ), 1 )
)
Resultado:
Puede descargar el archivo pbix desde este enlace: Calcular la fecha entre los cambios de estado
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
diff ?
datediff( maxx(table,table[ID_TAREA] á earlier([ID_TAREA]) && [ID_HISTORIAL] <earlier([ID_HISTORIAL])),[Fecha]),[Fecha], Day)
Muéstrame un error, el parámetro no es el tipo correcto
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.