Item
Returns one member from set with specified position (starting from zero) or name.
Syntax
Index syntax Set_Expression.Item(index) String expression syntax Set_Expression.Item(String_Expression1 [ ,String_Expression2,...n])
Arguments
Set_Expression | MDX expression that returns set. |
---|---|
index | Numeric expression that specifies the position of a tuple in the set. |
String_Expression | String expression as a tuple expressed in a string. |
Examples
1. The following example returns all Projects that do not have components with a name "UI".
Aggregate(Filter([Project].[Project].Members, [Project].CurrentMember.Children.Item('UI') IS NULL ))
[Project].CurrentMember.Children
returns all project components that are Project dimensionChildren
..Item('UI')
returns component with name "UI"- If component with specified name does not exist,
NULL
will be returned. In that wayIS NULL
filters projects that do not have component "UI".
2. The following example will return the Sprint based on its position (index) from a set. The example formula will address all boards. For each board, it will access sprints as Children, filter out the closed sprints, will pick one sprint from the Tail. Item(0) will pick a particular sprint member from this set.
Aggregate( Generate( -- for each board [Sprint].[Board].Members, Tail( Filter( [Sprint].CurrentMember.Children, [Sprint].CurrentMember.GetBoolean("Closed")), -- 1 last (from Tail) closed sprint from a board 1) -- address the first (0) member from a set .Item(0) ) )
See report example Active (multiple) sprints story points burn-down in our Demo account. The calculated member Last closed (completed) sprints in dimension Sprint uses the formula above. The report uses this calculated member and several others calculated members in Sprint dimensions as a selection option on Pages.