Basic Overview
AVAILABLE SINCE 5.6.0
Description  The FINDFIRST function is used to find the first values in a table in respect to a given level. If no level is given the function will automatically use the lowest level in the time dimension used by the node. 
Signature  FINDFIRST(Node[, Level]) 
Parameters  
Limitations  An error will occur: If no level is provided and the node does not use the time dimension The level must be present on the entered node The level to find can not be higher in the dimension than the level used in the node

Example
Input:
Node A
 2016  2017  2018  2019 

Product A  4,5  4,5   4,5 
Product B   5  6  6,4 
Product C     7 
Product D    5,6  5,6 
To find the year each product has its first entry in the table the following can be used:
FINDFIRST('Node A') = FINDFIRST('Node A', “Year”)
Result:
 2016  2017  2018  2019 

Product A  4,5    
Product B   5   
Product C     7 
Product D    5,6  
Hints
Often used together with TRUEto generate starting values, for example in combination with SCHEDULEPROJECTS:
TRUE(FINDFIRST( ‘Node’ ) )