The IsOnOrAfter function is a boolean function that emulates the behavior of Start At clause and returns true for a row that meets all the conditions mentioned as parameters in this function.
Expression to be compared with second parameter.
Expression to be compared with first parameter.
The order to be applied. 0/FALSE/DESC – descending; 1/TRUE/ASC – ascending.
Returns TRUE when the set of values passed as arguments in Value1 is “greater than or equal to” the set of values passed as arguments in Value2.
The ISONORAFTER function emulates the behavior of a START AT clause in EVALUATE, and returns TRUE when all of the values passed as argument meet the condition specified.
Usually this function is evaluated in a filter condition during an iteration, applying it to the current row context. However, ISONORAFTER uses the existing evaluation context, so any row context must be created outside of ISONORAFTER, which is not an iterator.
A blank value is matched with BLANK(), in this comparison a blank and an empty string are considered as different values and an empty string is after a blank in ascending order.
The following query filters the months greater than or equal to October 2008 by using the ISONORAFTER function in the filter condition of FILTER.
EVALUATE FILTER ( SUMMARIZE ( 'Date', 'Date'[Calendar Year], 'Date'[Month], 'Date'[Month Number] ), ISONORAFTER ( 'Date'[Calendar Year], "CY 2008", ASC, 'Date'[Month Number], 10, ASC ) ) ORDER BY 'Date'[Calendar Year], 'Date'[Month Number]
Other related functions are:
Contributors: Alberto Ferrari, Marco Russo
MSDN documentation: https://docs.microsoft.com/en-us/dax/isonorafter-function-dax