Calcule la fecha de finalización de la tarea a partir de la fecha de inicio de la tarea y el proyecto.

Un usuario Pregunto ✅

shefalinishad11

Hola comunidad,

Estoy creando un rastreador de hitos y necesito poca ayuda aquí:

Proyecto

Tarea

Fecha de inicio de la tarea

Fecha de finalización de la tarea

P1

T1

12/2/21

15/2/21

P1

T2

15/2/21

15/2/21

P2

T1

3/12/21

15/3/21

P2

T2

15/3/21

20/3/21

P2

T3

20/3/21

20/3/21

Necesito trabajar en la función DAX que calculará automáticamente la fecha de finalización de la tarea con el siguiente inicio de la tarea, y si el proyecto cambia, considerará la fecha de inicio de la tarea como la fecha de finalización.

Geradav

Aquí hay una alternativa adaptada de @amitchandak

EndDate_V2 =
VAR project = TableTasks[Project]
VAR TaskStartDate = TableTasks[TaskStartDate]
VAR nextTaskDate =
    MINX (
        FILTER (
            TableTasks,
            TableTasks[Project] = project
                && TableTasks[TaskStartDate] > TaskStartDate
        ),
        TableTasks[TaskStartDate]
    )
RETURN
    IF ( ISBLANK ( nextTaskDate ), TaskStartDate, nextTaskDate )

Geradav

Aquí hay una alternativa adaptada de @amitchandak

EndDate_V2 =
VAR project = TableTasks[Project]
VAR TaskStartDate = TableTasks[TaskStartDate]
VAR nextTaskDate =
    MINX (
        FILTER (
            TableTasks,
            TableTasks[Project] = project
                && TableTasks[TaskStartDate] > TaskStartDate
        ),
        TableTasks[TaskStartDate]
    )
RETURN
    IF ( ISBLANK ( nextTaskDate ), TaskStartDate, nextTaskDate )

shefalinishad11

En respuesta a Geradav

Funcionó, muchas gracias por ayudar.

Geradav

@ shefalinishad11

Aquí hay una solución tentativa como columna calculada

EndDate =
VAR ProjectID = TableTasks[Project]
VAR TaskIndex =
    RIGHT ( TableTasks[Task], LEN ( TableTasks[Task] ) - 1 )
VAR Result =
    CALCULATE (
        MAX ( TableTasks[TaskStartDate] ),
        FILTER (
            TableTasks,
            TableTasks[Project] = ProjectID
                && TableTasks[Task] = "T" & ( TaskIndex + 1 )
        )
    )
RETURN
    IF ( ISBLANK ( Result ), TableTasks[TaskStartDate], Result )

Geradav_0-1611226363309.png

Déjanos saber si eso funciona para ti

David

Amitchandak

@ shefalinishad11, la lógica que apliqué, si en el proyecto smae obtengo la próxima fecha, esa será la fecha de finalización de este paso, de lo contrario, la fecha de inicio y la fecha de finalización.

¿Puedes copiar y pegar datos de Excel? Viene todo en una sola línea

Amitchandak

@ shefalinishad11, prueba una nueva columna como

Nueva columna =
var _min = maxx (filter (Tabla, [project] = anterior ([project]) && [Task Start Date] > [Task Start Date] ),[Task Start Date])
regreso
si (está en blanco (_min), [Task Start Date] , _min)

shefalinishad11

En respuesta a Amitchandak

Hola @amitchandak,

Gracias por cuidar.

La columna funciona pero muestra la fecha de inicio en la columna de fecha de finalización. Se suponía que debía elegir la fecha de inicio de la siguiente tarea como fecha de finalización para ese proyecto en particular. Si la última tarea del proyecto, la fecha de finalización debe ser la misma que la fecha de inicio. Compartiendo captura de pantalla.

Fecha de finalización de la tarea = Var _min = MAXX (FILTER (‘Tabla 1’, ‘Tabla 1′[Project] = ANTES (‘Tabla 1′[Project])&&’Tabla 1′[Task Start Date]> ‘Tabla 1′[Task Start Date]),’Tabla 1′[Task Start Date])
regreso
SI (ESBLANCO (_min), ‘Tabla 1′[Task Start Date], _min)
Screenshot_1.jpg

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *