It looks like you're new here. If you want to get involved, click one of these buttons!
Annlzd RoR = var tblStart = ROW("Date", IF(PreviousDay(Dates[Date])=Blank(), FirstDate(Dates[Date]), PreviousDay(Dates[Date]))
, "Payment", IF(PreviousDay(Dates[Date])=Blank(), 0, CALCULATE(Report[Total Value], PreviousDay(Dates[Date])))
)
var tblTransSymb= SUMMARIZE(Trans, Trans[Date], "Payment", SUMX(Trans, Report[Trans Ext Symb Flow Amnt]))
var tblTransSymb2 = SUMMARIZE(Trans, Trans[Date], "Payment", CALCULATE(SUMX(Trans, Report[Trans Cash Impact]*(-1)), FILTER(TransType, AND(TransType[DividendFlag]=1,TransType[TransType]<>"DRIP"))))
var tblTransAccnt= SUMMARIZE(Trans, Trans[Date], "Payment", SUMX(Trans, Report[Trans Ext Cash Flow Amnt]))
var tblEnd=Row("Date", LASTDATE(Dates[Date]), "Payment", (-1)*CALCULATE(Report[Total Value], LastDate(Dates[Date])))
var tblSymb = UNION(FILTER(tblStart, [Payment]<>0), FILTER(tblTransSymb, [Payment]<>0), FILTER(tblEnd, [Payment]<>0), FILTER(tblTransSymb2, [Payment]<>0))
var tblAccnt= UNION(FILTER(tblStart, [Payment]<>0), FILTER(tblTransAccnt, [Payment]<>0), FILTER(tblEnd, [Payment]<>0))
RETURN IF(CONTAINS(Symbol,Symbol[Symbol],"* Cash")
, IF(NOT(HASONEVALUE(Symbol[Symbol])) && NOT(HASONEVALUE(Symbol[Allocation]) && CONTAINS(Symbol, Symbol[Allocation],"Cash")), IFERROR(XIRR(tblAccnt, [Payment],[Date]), BLANK()))
, IFERROR(XIRR(tblSymb, [Payment],[Date]), BLANK())
)