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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
ManuelMarcone95
Regular Visitor

Calculo de días dentro de una misma tabla

Hola,

Tengo un registro que trae la fecha en la que pasaron por cada estado posible un grupo de solicitudes online de trámites.

 

Estados.PNG

 

Para el mismo idSolicitud la tabla trae tantos registros como estados (contenido) por los que pasó el trámite "ENVIADA, CONTRATO PENDIENTE, FINALIZADA", etc..

Además en la columna (Tramite1) estan los distintos tipos de trámites posibles.

 

Necesito calcular para cada idSolicitud, cuantos días transcurrieron entre el estado ENVIADA y el estado CONTRATO PENDIENTE, y luego poder sacar promedios de demora para cada tipo de trámite, y dentro de determinado período de tiempo.

Ejemplo: La demora promedio en días entre el estado ENVIADA y el estado CONTRATO PENDIENTE,de las Aperturas de cuenta de Ahorro que alcanzaron el último estado en junio.

 

Agradezco si me guian como proceder.

Saludos,

Manuel.

1 ACCEPTED SOLUTION

No @Syndicate_Admin ,

Cree una columna como se muestra a continuación:

datediff = 
var _date=IF('Table'[Contenid]="in analysis",CALCULATE(MIN('Table'[Date]),FILTER('Table','Table'[Contenid]="approved"&&'Table'[id]=EARLIER('Table'[id])&&'Table'[Date]>EARLIER('Table'[Date]))))
Return
DATEDIFF('Table'[Date],_date,DAY)

Y verás:

vkellymsft_0-1628762102991.png

Compruebe mi archivo .pbix de ejemplo adjunto.

Saludos
Kelly

¿Respondí a su pregunta? Marque mi respuesta como una solución!

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

No @Syndicate_Admin ,

¿Ha comprobado mi respuesta?

Saludos
Kelly

¿Respondí a su pregunta? Marque mi respuesta como una solución!

Hola Kelly, agrego otra foto por si ayuda a comprender como son mis datos.

Yo tengo una única tabla que trae esta información.

 

Yo lo que quiero saber es el tiempo promedio que demoran en pasar de un estado a otro las solicitudes de "Apertura de Garantía de Alquiler".

 

Como muestro en la imagen, la columna "idSolicitud" trae el número identificatorio de cada solicitud.

Para la 12257 (que señalo como ejemplo) tengo 3 registros.

Yo quiero calcular la diferencia de días entre la Fecha del registro que en la columna "contenido" tiene el valor EN ANALISIS, y el registro que tiene el valor APROBADA para el mismo "idSolicitud". Y realizar ese mismo cálculo para cada una de las solicitudes que figuren en la tabla de forma de poder conocer el promedio de días que demoran entre un estado y otro las solicitudes que en la columna "Tramite1" tienen el valor "Apertura de Garantía de Alquiler".

 

Esto se puede solucionar con la sentencia (SELECT) que me sugieres? No veo como hacerlo.

 

Tabla solicitudes.PNG

No @Syndicate_Admin ,

Cree una columna como se muestra a continuación:

datediff = 
var _date=IF('Table'[Contenid]="in analysis",CALCULATE(MIN('Table'[Date]),FILTER('Table','Table'[Contenid]="approved"&&'Table'[id]=EARLIER('Table'[id])&&'Table'[Date]>EARLIER('Table'[Date]))))
Return
DATEDIFF('Table'[Date],_date,DAY)

Y verás:

vkellymsft_0-1628762102991.png

Compruebe mi archivo .pbix de ejemplo adjunto.

Saludos
Kelly

¿Respondí a su pregunta? Marque mi respuesta como una solución!

Syndicate_Admin
Administrator
Administrator

Buenas Manuel, me parece muy interesante tu requerimiento.

No se me ocurre forma de hacerlo desde PBI ya que mi experiencia con DAX es limitada, así que yo lo haría directamente desde el query a la BD, utilizando un subquery más o menos así:

SELECT
    solicitud = id_solicitud,
    primera_fecha = columna_bd,
    DATEDIFF(day, primera_fecha, segunda_fecha - 1) AS [total_dias]
FROM Tabla1
JOIN Tabla2 ON Tabla1.id = Tabla2.id AND Tabla2.etapa = (SELECT MAX(etapa) - 1 AS [etapa] FROM Tabla2 WHERE id_solicitud = solicitud)

Esto lo haría para cada uno de los intervalos entre un status y otro. Lo haría de esa manera asumiendo que tienes una tabla maestro y una tabla detalle. En caso de que lo tengas todo unificado en una sola tabla, el query sería más sencillo.

Espero que te sea de utilidad, saludos cordiales.

Hola, muchas gracias por la respuesta.

 

Entiendo que para implementar esa soclución debería poder acceder al origen de datos. En mi caso sólo cuento con un reporte que trae la información seleccionada que detallaba anteriormente.

Quizá se puede implementar igual y no me estoy dando cuenta.

 

No @Syndicate_Admin ,

No puedo entender vuestra lógica con los datos de muestra proporcionados,no podría encontrar el las columnas relacionadas mencionadas en oringinal correo,podrías pls proporcionar más detalles para hacer el asunto claro?

Saludos
Kelly

¿Respondí a su pregunta? Marque mi respuesta como una solución!

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 FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

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

March2025 Carousel

Fabric Community Update - March 2025

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

Top Solution Authors
Top Kudoed Authors