Formula For Duration Between Tasks Based On Code Library Allocation

Member for

18 years 5 months

Thanks for this Chris, looks like i wasn't even close so would never have got there.

 

Member for

12 years 7 months

Hi Chris,

I saw this question from the support team, the answer is as follows:

To get the formula to find the start date on a specific task with an assigned code library, you will need to check each task. the snippet below returns the start date of a task with a code library called "A" from the codelibary 'Default' ID 35

 

Switch(

Task[>1].TaskCodeLibrary(35, 0, na)="A",Task[>1].Start,

Task[>2].TaskCodeLibrary(35, 0, na)="A",Task[>2].Start,

Task[>3].TaskCodeLibrary(35, 0, na)="A",Task[>3].Start,

Task[>4].TaskCodeLibrary(35, 0, na)="A",Task[>4].Start,

Task[>5].TaskCodeLibrary(35, 0, na)="A",Task[>5].Start,

Task[>6].TaskCodeLibrary(35, 0, na)="A",Task[>6].Start,

Task[>7].TaskCodeLibrary(35, 0, na)="A",Task[>7].Start,

Task[>8].TaskCodeLibrary(35, 0, na)="A",Task[>8].Start)

 

You can then combine this with a search for the finish date in the same way and then perform a DateDiff on it.

(DateDiff(

(Switch(

Task[>1].TaskCodeLibrary(35, 0, na)="A",Task[>1].Start,

Task[>2].TaskCodeLibrary(35, 0, na)="A",Task[>2].Start,

Task[>3].TaskCodeLibrary(35, 0, na)="A",Task[>3].Start,

Task[>4].TaskCodeLibrary(35, 0, na)="A",Task[>4].Start,

Task[>5].TaskCodeLibrary(35, 0, na)="A",Task[>5].Start,

Task[>6].TaskCodeLibrary(35, 0, na)="A",Task[>6].Start,

Task[>7].TaskCodeLibrary(35, 0, na)="A",Task[>7].Start,

Task[>8].TaskCodeLibrary(35, 0, na)="A",Task[>8].Start))

,



(Switch(

Task[>1].TaskCodeLibrary(35, 0, na)="B",Task[>1].Finish,

Task[>2].TaskCodeLibrary(35, 0, na)="B",Task[>2].Finish,

Task[>3].TaskCodeLibrary(35, 0, na)="B",Task[>3].Finish,

Task[>4].TaskCodeLibrary(35, 0, na)="B",Task[>4].Finish,

Task[>5].TaskCodeLibrary(35, 0, na)="B",Task[>5].Finish,

Task[>6].TaskCodeLibrary(35, 0, na)="B",Task[>6].Finish,

Task[>7].TaskCodeLibrary(35, 0, na)="B",Task[>7].Finish,

Task[>8].TaskCodeLibrary(35, 0, na)="B",Task[>8].Finish))



))