getMembers(uniqueName: String, memberName: String, callbackHandler: Function): Array
[starting from version: 1.6]
Returns a list of members for the specified hierarchy. Note that getMembers
has an async equivalent - getMembersAsync.
CSV data source. If the hierarchy has more than one level the method returns a tree where each member has a list of its children. It is enough to specify the uniqueName
parameter only.
OLAP data source. If the hierarchy has more than one level the method returns only the members for the first level. To get children of the member, you should call getMembers()
with uniqueName
, memberName
, and callbackHandler
parameters.
An array of objects with member's caption
, uniqueName
, hierarchyName
, children
, isLeaf
and parentMember
properties.
If data load is in progress and callbackHandler
is not set, an empty array will be returned.
1) CSV data source, where Category
hierarchy has only one level:
flexmonster.getMembers("Category");
/* method returns an array of objects
[
{caption: "Accessories", hierarchyName: "Category",
uniqueName: "category.[accessories]", children: [],
isLeaf:true, parentMember:"(All)"
},
{caption: "Cars", hierarchyName: "Category",
uniqueName: "category.[cars]", children: [],
isLeaf:true, parentMember:"(All)"
},
{caption: "Clothing", hierarchyName: "Category",
uniqueName: "category.[clothing]", children: [],
isLeaf:true, parentMember:"(All)"
}
]
*/
Check out on JSFiddle.
2) CSV data source, where Date
hierarchy has more than one level:
flexmonster.getMembers('Date');
/* method returns an array of objects
[
{
caption: "2003",
hierarchyName: "Date",
uniqueName: "date.[2003]",
children: [
{
caption: "Quarter 1",
hierarchyName: "Date",
uniqueName: "date.quarter.[2003/quarter 1]",
children: [
{
caption: "January",
hierarchyName: "Date",
uniqueName: "date.quarter.[2003/quarter 1/january]",
children: [ ],
isLeaf:true,
parentMember: "(All)"
}
]
},
{
caption: "Quarter 2",
hierarchyName: "Date",
uniqueName: "date.quarter.[2003/quarter 2]",
children: [
{
caption: "April",
hierarchyName: "[Date].[Date]",
uniqueName: "date.quarter.[2003/quarter 2/april]",
children: [ ],
isLeaf:true,
parentMember: "(All)"
}
]
}
],
isLeaf:true,
parentMember: "(All)"
},
{
caption: "2004",
hierarchyName: "Date",
uniqueName: "date.[2004]",
children: [
{
caption: "Quarter 3",
hierarchyName: "Date",
uniqueName: "date.quarter.[2004/quarter 3]",
children: [
{
caption: "July",
hierarchyName: "Date",
uniqueName: "date.quarter.[2004/quarter 3/july]",
children: [ ],
isLeaf:true,
parentMember: "(All)"
},
{
caption: "August",
hierarchyName: "Date",
uniqueName: "date.quarter.[2004/quarter 3/august]",
children: [ ],
isLeaf:true,
parentMember: "(All)"
}
]
}
],
isLeaf:true,
parentMember: "(All)"
}
]
*/
3) OLAP data source, where [Product].[Product Categories]
hierarchy has more than one level:
flexmonster.getMembers('[Product].[Product Categories]', '', onGetMembers);
function onGetMembers(members) {
for (var i = 0; i < members.length; i++) {
console.log(members[i]);
}
}
/* the output will be the following:
[{
caption: "Accessories",
dimensionName: "[Product]",
hierarchyCaption: "Product Categories",
hierarchyName: "[Product].[Product Categories]",
isLeaf: false,
parentMember: "[Product].[Product Categories].[All Products]",
uniqueName: "[Product].[Product Categories].[Category].&[4]"
}
{
caption: "Bikes",
dimensionName: "[Product]",
hierarchyCaption: "Product Categories",
hierarchyName: "[Product].[Product Categories]",
isLeaf: false,
parentMember: "[Product].[Product Categories].[All Products]",
uniqueName: "[Product].[Product Categories].[Category].&[1]"
}
{
caption: "Clothing",
dimensionName: "[Product]",
hierarchyCaption: "Product Categories",
hierarchyName: "[Product].[Product Categories]",
isLeaf: false,
parentMember: "[Product].[Product Categories].[All Products]",
uniqueName: "[Product].[Product Categories].[Category].&[3]"
}
{
caption: "Components",
dimensionName: "[Product]",
hierarchyCaption: "Product Categories",
hierarchyName: "[Product].[Product Categories]",
isLeaf: false,
parentMember: "[Product].[Product Categories].[All Products]",
uniqueName: "[Product].[Product Categories].[Category].&[2]"
}]
now you can ask for '[Product].[Product Categories].[Category].&[4]' members:
flexmonster.getMembers('[Product].[Product Categories]',
'[Product].[Product Categories].[Category].&[4]', onGetMembers);
*/
Open the example on JSFiddle.