Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live 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
The Power BI Data Visualization World Championships is back! It's time to submit your entry.
Check out the January 2026 Power BI update to learn about new features.