In my last project I'd met problem when I tried to setup OLAP cube with semi-additive measure on Analysis Service Standard Edition. In my case LastNonEmpty.
As example database I use Adventure Works DW.
Measure [Last NonEmpty Total Product Cost - Workaround] was created under [Sales Summary] measure group with Sum aggregate function. Then in Calculations added next cell calculation member.
CREATE CELL CALCULATION [Adventure Works].CalculateLastNonEmpty FOR '({[Measures].[Last NonEmpty Total Product Cost - Workaround]}, DESCENDANTS([Date].[Calendar].[All Periods]))' AS ' Aggregate( Tail( Filter( Descendants( [Date].[Calendar].CurrentMember, [Date].[Calendar].[Date] ) , CalculationPassValue([Measures].[Last NonEmpty Total Product Cost - Workaround], 0) <> null ), 1 ), CalculationPassValue([Measures].[Last NonEmpty Total Product Cost - Workaround], 0) ) '
After this result of [Measures].[Last NonEmpty Total Product Cost - Workaround] will be similar LastNonEmpty aggregate function.