Use XFMemberProperty to get year from time parameter

MarkBird
Contributor II

Hi 

I'm looking to get the year from a time parameter to use in a cube view header. Is it possible to use the XFMemberProperty rule if possible?

I've tried :Name(XFMemberProperty(DimType=Time, Member=|!TimeParameter!|, Property=Year)) but the system doesn't like it.

Note, the following works to get the time description, but I'm looking to just get the year i.e. 2023

XFMemberProperty(DimType=Time, Member=|!TimeParameter!|, Property=Description)

Thanks,

Mark

1 ACCEPTED SOLUTION

JackLacava
Community Manager
Community Manager

Are you sure you can't do it with one of the substitution variables? |WFYear|, |PovYear|, |CVYear| ... ?

If you have to go down the scripting route (be it in XFBR or CV Extender), I'd suggest to get the year in the "proper" way, to avoid issues with funky Time Profiles:

Dim nValue As Integer = BRApi.Finance.Time.GetYearFromId(si, _
    BRApi.Finance.Members.GetMemberId(si, _
       DimType.Time.Id, "yourMemberName"))

A bit slower than string manipulation but more robust.

View solution in original post

4 REPLIES 4

Thomas_Bennett
New Contributor III

Probably overkill but you could write a brstring rule, send your parameter to that and substring it. I mocked it up here: 

CV Column:

Thomas_Bennett_1-1697712876403.png

rule:

Thomas_Bennett_2-1697712903284.png

 

Output:

 

Thomas_Bennett_0-1697712864126.png

 

Thanks Tom, yeah I'll go down that route if there isn't an option using XFMemberProperty or some other standard function within OneStream

JackLacava
Community Manager
Community Manager

Are you sure you can't do it with one of the substitution variables? |WFYear|, |PovYear|, |CVYear| ... ?

If you have to go down the scripting route (be it in XFBR or CV Extender), I'd suggest to get the year in the "proper" way, to avoid issues with funky Time Profiles:

Dim nValue As Integer = BRApi.Finance.Time.GetYearFromId(si, _
    BRApi.Finance.Members.GetMemberId(si, _
       DimType.Time.Id, "yourMemberName"))

A bit slower than string manipulation but more robust.

Thank Jack, I managed to use |MFYear|