FILTER
is an iterator, CALCULATE
is not. In this formula FILTER
returns a table with a single column, 'Table'[Index]
, containing all of the Indexes that are less or equal to the MAX( 'Table'[Index] )
evaluated in the filter context existing when CALCULATE
is executed.
When SUM( 'Table'[Value] )
is evaluated inside CALCULATE
, the filtered table evaluated in the previous step is applied as filter context. This replaces any filter context existing on the same column, but is combined with possible other filter existing on other columns.
These filters are applied on Table
and only the rows satisfying these criteria will be iterated by the SUM
.
So it is not CALCULATE
that iterates over Table
. And SUM
iterates on Table
already filtered by the filter contex modified by CALCULATE
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…