Yes you can, by using two table-valued functions subsequently:
- Filter Rows with UDF (User Defined Function)
- Transform Rows with UDF (User Defined Function)

Note that an
empty date value is transformed to integer 0 (as serial day number, 0.1.1900 in date format) when read by
finaquant excel add-in. So, an empty date value means "integer value of date = 0" in our filtering logic.
Note also that the integer value (i.e. serial day number) of date
1.1.2002 = 37257 (you can check this with the worksheet function VALUE in excel).
Step 1: Filter (include/exclude) table rows using table function Filter Rows with UDFYou will include only rows with integer date value >= 37257 OR integer date value = 0
That is, your UDF will look like as follows (valid C# code):
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
return NA["valid_from"] >= 37257 || NA["valid_from"] == 0;
- GeSHi ©
Step 2: Transform (update) table rows using table function Transform Rows with UDFSet integer date value = 40179 (1.1.2010 in date format) if it was 0 before
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
if (NA["valid_from"] == 0) NA["valid_from"] = 40179;
- GeSHi ©

You may see below all the three tables:

ProdDate: Initial input table before filtering and transformation.
ProdDate2: Intermediate resultant table after filtering.
ProdDate3: Final resultant table after filtering and transformation.
Tunc