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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Iteración y comparación de filas

Tengo una tabla de tareas asignadas a diferentes personas, con fechas de vencimiento, horas y prioridades establecidas. Los he procesado previamente (en Visual Studio) para determinar un orden de trabajos. Esto fue hecho por

  1. Agrupar tareas por persona
  2. Clasificación por fecha de vencimiento
  3. Determinar las fechas de finalización proyectadas, en función de la suma de las horas de tareas clasificadas por encima de ellas, luego
  4. Iterar las clasificaciones del primero al último y verificar si se cumplía la fecha de vencimiento
  5. En caso afirmativo, no se ha tomado ninguna medida
  6. Si no, se comprobó si esta tarea era una prioridad más alta que la tarea clasificada anteriormente, de ser así, su rango se cambió con el anterior y las fechas de finalización proyectadas se recalcularon hasta que cumpliera con la fecha de vencimiento o no fuera una prioridad más alta que la tarea anterior (esencialmente moviéndola hacia arriba en la clasificación).

Soy nuevo en PowerBI y estoy tratando de seguir la misma lógica, pero no puedo averiguar cómo iterar, con referencia a otras filas. ¿Alguien puede ayudar con la mejor manera de abordar esto?

Datos de muestra

AsignadoToIDFecha de vencimientoPrioridad (999 = más alta)Días de trabajoMantener
51/08/202290010
51/08/20222005
61/08/20221005
75/08/20221007
710/08/20221004
613/08/20225005
615/08/20225005
520/08/20225005
730/08/20229002

Resultado deseado

AsignadoToIDFecha de vencimientoPrioridad (999 = más alta)Días de trabajoMantenerRangoFecha final proyectadaA tiempo
515/08/202290010115/08/2022Y
520/08/20225005222/08/2022N
51/08/20222005329/08/2022N
613/08/2022500518/08/2022Y
615/08/20225005215/08/2022Y
61/08/20221005320/08/2022N
75/08/20221007116/08/2022N
710/08/20221004222/08/2022N
730/08/20229002324/08/2022Y
8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

@DebbieK ,

Honestamente, estoy confundido con la muestra y los resultados esperados proporcionados. Las fechas de vencimiento no coinciden tan bien como las prioridades. Para ID5, las fechas son todas 1/8 en los datos de la muestra, pero son diferentes en el resultado esperado, excepto por uno. Los números de prioridad también son diferentes: {900,500,100} vs {900,500,200}

danextian_0-1660792805363.png

Hola Danextian - gracias, y perdón por el error en los datos de la muestra, una de las fechas de vencimiento estaba equivocada. Ahora he corregido esto.

Tenga en cuenta que en los datos de ejemplo se ordena por fecha de vencimiento, en los datos de salida se agrupa por ID y luego se ordena por rango.

Hola

¿Dónde puedo encontrar los horarios?

Determinar las fechas de finalización proyectadas, en función de la suma de las horas de tareas clasificadas por encima de ellas

Además, ¿cómo se calcula la fecha de finalización proyectada? Supongo que son 7 (x rango-1) días desde el proyecto de rango 1.

Hola danextian - gracias por tu ayuda.

Las horas = 8 horas x número de días laborables.

La fecha de finalización proyectada es el final del proyecto previamente clasificado + días hábiles. Por ejemplo, ID 5, el proyecto mejor clasificado termina el 15/08/22. ID 5 segundo proyecto clasificado entonces tiene una fecha de finalización de 15/8/22 + 5 días hábiles siendo 22/8/22 (debido a los días de fin de semana).

Estoy confundido sobre cómo se calcula el rango. Para ID5, parece que están clasificados por prioridad. Para 7, se clasifican por fecha de vencimiento.

danextian_0-1660807726953.png

Hi danextian,

La lógica es clasificar por fecha de vencimiento, luego verificar si una tarea de mayor prioiridad no está a tiempo y, de ser así, promoverla en los rangos.

Para ID 7, se clasifican por fecha de vencimiento, y la tarea de mayor prioridad es a tiempo, por lo que no se necesitan cambios.

He reproducido el proceso de ejemplo para ID 5 a continuación.

PASO 1 - Ordenar por fecha de vencimiento

AsignadoToIDFecha de vencimientoPrioridad (999 = más alta)Días de trabajoMantener
51/08/20222005
515/08/202290010
520/08/20225005
61/08/20221005
613/08/20225005
615/08/20225005
75/08/20221007
710/08/20221004
730/08/20229002

PASO 2 - Iterar y verificar si a tiempo, promover si es necesario.

Eg.

Fila 2, ONTIME = N, así que compruebe si la fila 2 tiene una prioridad más alta que la fila 1.

900 > 200, así que mueva la fila 2 hacia arriba.

AsignadoToIDFecha de vencimientoPrioridad (999 = más alta)Días de trabajoMantenerFecha final proyectada

A tiempo
51/08/202220058/08/2022N
515/08/20229001022/08/2022N
520/08/2022500529/08/2022N
61/08/202210058/08/2022N
613/08/2022500515/08/2022N
615/08/2022500522/08/2022Y
75/08/2022100710/08/2022N
710/08/2022100416/08/2022N
730/08/2022900218/08/2022Y

Entonces EG

Fila 3, ONTIME = N, así que compruebe si la fila 3 tiene mayor prioridad que la fila 2.

Prioridad 500> 200, así que mueva la fila 3 hacia arriba

Compruebe si tiene una prioridad más alta que la fila 2

Prioridad 500 < 900, así que no te muevas más alto.

AsignadoToIDFecha de vencimientoPrioridad (999 = más alta)Días de trabajoMantenerFecha final proyectadaA tiempo
515/08/20229001015/08/2022Y
51/08/2022200522/08/2022

N
520/08/2022500529/08/2022N
61/08/202210058/08/2022N
613/08/2022500515/08/2022N
615/08/2022500522/08/2022Y
75/08/2022100710/08/2022N
710/08/2022100416/08/2022N
730/08/2022900218/08/2022Y

Iteración terminada de ID5

AsignadoToIDFecha de vencimientoPrioridad (999 = más alta)Días de trabajoMantenerRangoFecha final proyectadaA tiempo
515/08/202290010115/08/2022Y
520/08/20225005222/08/2022N
51/08/20222005329/08/2022N
61/08/20221005 8/08/2022N
613/08/20225005 15/08/2022N
615/08/20225005 22/08/2022Y
75/08/20221007 10/08/2022N
710/08/20221004 16/08/2022N
730/08/20229002 18/08/2022Y

En el paso 2, ¿cómo se sabría si un proyecto está a tiempo o no? También en la fila 2, 15/8 + 10 días hábiles , ¿no debería ser 29/8?

Si ProjectedEndDate está en o antes de DueDate, entonces el proyecto está a tiempo

Tome "HOY" como el 1 de agosto. Por ejemplo, en el paso 2 (captura de pantalla a continuación)

- La fila uno es de 5 días y por lo tanto ProjectedEndDate es el 8 de agosto

- La fila dos es de 10 días y, por lo tanto, ProjectedEndDate es de 10 días hábiles DESPUÉS de la fecha de finalización de la fila 1 (por lo tanto, 8 de agosto + 10wd = 22 de agosto)

DebbieK_0-1661303040325.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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