We are under construction!
You may experience downtime, errors or visual oddities, but we anticipate all will be resolved by the end of the day.
You may experience downtime, errors or visual oddities, but we anticipate all will be resolved by the end of the day.
A common requirement for reporting is to be able to filter the IC dimension by some property that exists only on the original Entity members.
This can be achieved with a custom Member List defined in a Finance business Rule.
Select Case api.FunctionType
' MemberListHeaders support is optional but good practice
Case Is = FinanceFunctionType.MemberListHeaders
Dim mListHeaders As New List(Of MemberListHeader)
' add the name of your list:
mListHeaders.Add(New MemberListHeader("withText1"))
Return mListHeaders
' Here we do the real work
Case Is = FinanceFunctionType.MemberList
If args.MemberListArgs.MemberListName.XFEqualsIgnoreCase("withText1") Then
' this list of members will be populated later
Dim ICs As New List(Of Member)
' amend parameters as necessary here
Dim dimensionName as String = "CorpEntities"
Dim memberFilter as String = "E#Root.Base.Where(Text1 <> '')"
' filter the Entity dimension by some criteria
Dim entities As List(Of MemberInfo) = brapi.Finance.Members.GetMembersUsingFilter(si, _
brapi.Finance.Dim.GetDimPk(si, dimensionName), _
memberFilter, _
True)
' retrieve IC members corresponding to the selected Entity members
' and push them into output list
For Each entityMInfo As MemberInfo In entities
if entityMInfo.getEntityProperties().isIC then
ICs.Add(brapi.Finance.Members.GetMember(si, dimtypeId.IC, entityMInfo.Member.Name))
end if
Next
' wrap with the MemberList object and return
Return New MemberList(New MemberListHeader("withText1"), ICs)
This can then be referenced in CubeViews and elsewhere like this: