Not sure what your time/date dimension looks like, but assuming you have a User Hierarchy called [Calendar Hierarchy] and you have designated it as a "time" dimension...you can use the ParallelPeriod function to get what you need.
Case
When IsEmpty(KPIGoal("Machine Efficiency")) Then Null
When (
ParallelPeriod(
[Time].[Calendar Hierarchy].level
,1
,[Time].[Calendar Hierarchy].CurrentMember
)
,[Measures].[Machine Efficiency]
) < KPIValue("Machine Efficiency") Then 1
When (
ParallelPeriod(
[Time].[Calendar Hierarchy].level
,1
,[Time].[Calendar Hierarchy].CurrentMember
)
,[Measures].[Machine Efficiency]
) = KPIValue("Machine Efficiency") Then 0
Else -1
End