It's a good practice if you avoid the measures that are designed keeping specific visualization in mind.
Let us consider an example based on the data provided above.
1. The years are identifiers for the rows in the table
2. If any other column or row is added like month then the behavior of the measure will be different
The part of your formula for the calculation the total measure would work well on the detail rows when iterating over VALUES(Table[Year] instead of Table itself:
MyMeasure3 = SUMX(FILTER(VALUES(Table[Year]),[Amount]>1000),[Amount]-1000)
However, VALUES(Table[Year]) would contain only one row while the filtered table is empty when [Amount]<=1000.
This means that rows for years with [Amount] lower than 1000 should have a blank value. In case you want to have 0 instead of blank, you can just add 0 to the result:
MyMeasure3 = SUMX(FILTER(VALUES(Table[Year]),[Amount]>1000),[Amount]-1000) + 0
Hope this helps!!