Commonly Used Member Filter Functions
GetDataCell
Use the GetDataCell function to retrieve specific cell(s), perform math, or Business Rule operations.
Variance Example using GetDataCell
GetDataCell(Variance(S#Actual,S#BudgetV1)):Name(Variance)
BetterWorse Example Using GetDataCell
This provides a Variance taking Account Type into consideration
GetDataCell(BWDiff(S#Actual, S#BudgetV1)):Name("BetterWorse Difference")
VariancePercent Example Using GetDataCell
GetDataCell(VariancePercent(S#Actual,S#BudgetV1)):Name(Var %)
BetterWorsePercent Example Using GetDataCell
This provides a Variance Percent taking Account Type into consideration
GetDataCell(BWPercent(S#Actual, S#BudgetV1)):Name("BetterWorse %")
Business Rule Example using GetDataCell
GetDataCell(BR#[BusinessRuleName, FunctionName]):Name(Custom Function)
For more GetDataCell examples, refer to the Samples Tab in the Member Filter Builder.
Parameter/Parameter Display
Use one of these buttons in order to enter a custom Parameter reference that comes from either a Form or Dashboard. The Parameter Display Substitution Variable is only used when working with a Delimited List Parameter where the Display Item will be displayed instead of the Member name.
Business Rules
Business Rules can be passed in a Cube View Member Filter in order to do complex calculations on the Members referenced in the Cube View. Setup the Finance Business Rule to indicate the name of the function and any name-value pairs to reference in the Member Filter. A different action can be performed based on the definition of the name-value pair. In the example below, the Business Rule is going to read the current time period from the rule and get the value for the prior year based on the Member script.
Function in Business Rule
The Function name in this string is PYMonthForCol. This needs to be referenced in the Member Filter.
If functionName.Equals("PYMonthForCol", StringComparison.InvariantCultureIgnoreCase) Then
Name-Value Pair
The Name-Value Pair in this string is Field1. This needs to be referenced in the Member Filter and defined. Based on the Name-Value Pair, the rule can run different actions.
Dim ms1 As String = args.DataCellArgs.NameValuePairs("Field1")
Dim priorYearTimeName As String = api.Time.GetNameFromId(api.Time.GetPriorYearPeriodId())
Dim memberScript As New System.Text.StringBuilder
memberScript.Append(ms1)
memberScript.Append(":T#")
memberScript.Append(priorYearTimeName)
Get the Data Cell for the Prior Year
Return api.Data.GetDataCell(memberScript.ToString)
End If
End Select
Cube View Member Filter Syntax
In the GetDataCell string define the Business Rule’s name, the function’s name, and define the name-value pair from the Business Rule.
BR#[BusinessRuleName, FunctionName=yourFunctionName, Name1=Value1, AnotherName=[AnotherValue]]
Example
GetDataCell("BR#[BRName = XFR_CVDataCellHelperNew, FunctionName = PYMonthForCol, Field1 =A#60999]"):Name("Sales Last Year")
NOTE: See the Samples tab in the Member Filter Builder for more examples on this function.
Custom Member List
Build a custom list in a Business Rule and pass that Business Rule in a Cube View. This can return a list of Member’s or Member information when running the rule in a Cube View. MemberInfo allows users to specify additional information such as a Parent Entity ID and an Indent Level. An unlimited number of name-value pairs can be passed to the Member List Business Rule. The example below will put the member list in alphabetical order.
In the Business Rule, define the List Name and the name-value pairs:
Select Case api.FunctionType Case Is = FinanceFunctionType.MemberList Dim listName As String = args.MemberListArgs.MemberListName Dim entityList As String = args.MemberListArgs.NameValuePairs("EntityList")
If listName.Equals("EntityParentList", StringComparison.InvariantCultureIgnoreCase) Then Dim objMemberListHeader = New MemberListHeader(args.MemberListArgs.MemberListName)
Cube View Member Filter Syntax
In the Cube View Member Filter, define the Business Rule’s name, the Member List Name, define the name-value pairs from the Business Rule, and the Members to which it applies.
E#Root.CustomMemberList(BRName = XFR_MemberListBasicNew, MemberListName = EntityParentList, EntityList = E#Houston.Base)
NOTE: See the Samples tab in the Member Filter Builder for more examples on this function.
Custom Display Names in Member Lists
When creating custom Member Lists, custom display names can be applied and displayed in a Cube View header.
Business Rule Example:
Select Case api.FunctionType Case Is = FinanceFunctionType.MemberList Dim listName As String = args.MemberListArgs.MemberListName 'Get the Passed in parameters Dim entityList As String = args.MemberListArgs.NameValuePairs("EntityList") If listName.Equals("AlphaSortList", StringComparison.InvariantCultureIgnoreCase)
Then Dim objMemberListHeader = New MemberListHeader(args.MemberListArgs.MemberListName) 'Read the members Dim objMemberInfos As List(Of MemberInfo) = api.Members.GetMembersUsingFilter (args.MemberListArgs.DimPk, entityList, Nothing) 'Sort the members Dim objMembers As List(Of MemberInfo) = Nothing If Not objMemberInfos Is Nothing Then objMembers = (From memberInfo In objMemberInfos Order By memberInfo.Member.Name Ascending Select memberInfo).ToList() End If 'Apply a custom display name to the first item. If Not objMembers Is Nothing Then If objMembers.Count > 0 Then objMembers(0).RowOrColNameForCalcScript = objMembers(0).NameAndDescription &
"(Custom Name)" End If End If 'Return list Return New MemberList(objMemberListHeader, objMembers) End If End Select
XFMemberProperty
This function allows users to specify a Dimension property and display the Member Property selection as a row or column header on a Cube View. Use this function with the Name() and GetDataCell() portion of a Member Filter.
The following name-value pair settings can be used for this function:
-
DimType
Dimension name such as Entity, Account, etc. -
Member
Dimension Member nameNOTE: In order to reference the Dimension Members specified in the Member Filter, use the Dimension-specific Member Filter Substitution Variables. For example, if the Member Filter is A#NetSales.Children, use =|MFAccount| to dynamically point to each Child Member of Net Sales while running this function. See Member Filter Substitution Variables for more details. See below for an example of this syntax.
-
Property
The exact Dimension property name -
VaryByCubeType
Use this if the property varies by a specific Cube -
VaryByScenario
Use this if the property varies by Scenario such as =Actual, =Budge, etc. -
VaryByTime
Use this if the property varies by a specific Time Period such as =2016M1, =2016M5, etc. -
TimeDimProfile
This can be set to CV, WF, any Time Dimension Profile name, or a Cube name using the CB# qualifierExample Syntax:
T#2015.Base:Name(XFMemberProperty(DimType=Time, Member=|MFTime|, Property=Description, TimeDimProfile=|CVTimeDimProfile|))The example above uses the |MFTime| Substitution Variable in order to reference the Members in the T#2015.Base Member Filter. See Member Filter Substitution Variables for more details on these Substitution Variables. It also uses a Substitution Variable for TimDimProfile in order to point to whatever Time Dimension Profile is being used on the Cube View.
NOTE: For more examples on using this function, refer to the Samples tab in the Member Filter Builder.