So, thanks for this;
In reverse order, option 3 won’t work on our self-hosted instance of Noco, as DATESTR is not available.
I’ve used option 1 in full, as follows (taking into account ALL options in the REVIEW CADENCE field) and outputs have added the date, so I’m seeing YYYY-MM-DD;
SWITCH({REVIEW CADENCE}, “Annual”, DATEADD({LAST REVIEW/SERVICE}, 1, “year”), “Monthly”, DATEADD({LAST REVIEW/SERVICE}, 1, “month”), “Quarterly”, DATEADD({LAST REVIEW/SERVICE}, 3, “month”), “6 months”, DATEADD({LAST REVIEW/SERVICE}, 6, “month”), “18 months”, DATEADD({LAST REVIEW/SERVICE}, 18, “month”), “5 years”, DATEADD({LAST REVIEW/SERVICE}, 5, “year”), “ongoing”, “in line with ISMS”, “always on”, “in line with ISMS”, “n/a”, “n/a”, “”)
I tried option 2 with the above and it’s giving really odd outputs;
CONCAT(
YEAR(
SWITCH(
{REVIEW CADENCE},
“Annual”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “year”),
“Monthly”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “month”),
“Quarterly”, DATEADD({LAST REVIEW/SERVICE copy}, 3, “month”),
“6 months”, DATEADD({LAST REVIEW/SERVICE copy}, 6, “month”),
“18 months”, DATEADD({LAST REVIEW/SERVICE copy}, 18, “month”),
“5 years”, DATEADD({LAST REVIEW/SERVICE copy}, 5, “year”),
“ongoing”, “in line with ISMS”,
“always on”, “in line with ISMS”,
“n/a”, “n/a”,
“”
)
),
“-”,
IF(
MONTH(
SWITCH(
{REVIEW CADENCE},
“Annual”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “year”),
“Monthly”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “month”),
“Quarterly”, DATEADD({LAST REVIEW/SERVICE copy}, 3, “month”),
“6 months”, DATEADD({LAST REVIEW/SERVICE copy}, 6, “month”),
“18 months”, DATEADD({LAST REVIEW/SERVICE copy}, 18, “month”),
“5 years”, DATEADD({LAST REVIEW/SERVICE copy}, 5, “year”),
“ongoing”, “in line with ISMS”,
“always on”, “in line with ISMS”,
“n/a”, “n/a”,
“”
)
) < 10,
CONCAT(“0”, MONTH(
SWITCH(
{REVIEW CADENCE},
“Annual”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “year”),
“Monthly”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “month”),
“Quarterly”, DATEADD({LAST REVIEW/SERVICE copy}, 3, “month”),
“6 months”, DATEADD({LAST REVIEW/SERVICE copy}, 6, “month”),
“18 months”, DATEADD({LAST REVIEW/SERVICE copy}, 18, “month”),
“5 years”, DATEADD({LAST REVIEW/SERVICE copy}, 5, “year”),
“ongoing”, “in line with ISMS”,
“always on”, “in line with ISMS”,
“n/a”, “n/a”,
“”
)
)),
MONTH(
SWITCH(
{REVIEW CADENCE},
“Annual”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “year”),
“Monthly”, DATEADD({LAST REVIEW/SERVICE copy}, 1, “month”),
“Quarterly”, DATEADD({LAST REVIEW/SERVICE copy}, 3, “month”),
“6 months”, DATEADD({LAST REVIEW/SERVICE copy}, 6, “month”),
“18 months”, DATEADD({LAST REVIEW/SERVICE copy}, 18, “month”),
“5 years”, DATEADD({LAST REVIEW/SERVICE copy}, 5, “year”),
“ongoing”, “in line with ISMS”,
“always on”, “in line with ISMS”,
“n/a”, “n/a”,
“”
)
)
)
)
So, I’m close - option 1 is doing what I need but not displaying cleanly.