Get Free Trial
  1. API reference
    1. Introduction
    2. Flexmonster()
  2. Objects
    1. All objects
    2. Report Object
    3. Data Source Object
    4. Mapping Object
    5. Slice Object
    6. Options Object
    7. Global Object
    8. Filtering
      1. Filter Object
      2. Number Query Object
      3. String Query Object
      4. Date Query Object
      5. Time Query Object
      6. Value Query Object
    9. Format Object
    10. Conditional Format Object
    11. Table Sizes Object
    12. Cell Data Object
    13. Chart Data Object
    14. Toolbar Object
    15. Chart Legend Data Object
    16. Share Report Connection Object
  3. Methods
    1. All methods
    2. addCalculatedMeasure
    3. addCondition
    4. alert
    5. clear
    6. clearFilter
    7. clearXMLACache
    8. closeFieldsList
    9. collapseAllData
    10. collapseCell
    11. collapseData
    12. connectTo
    13. customizeAPIRequest
    14. customizeCell
    15. customizeChartElement
    16. customizeContextMenu
    17. dispose
    18. drillDownCell
    19. drillUpCell
    20. expandAllData
    21. expandCell
    22. expandData
    23. exportTo
    24. getAllConditions
    25. getAllHierarchies
    26. getAllHierarchiesAsync
    27. getAllMeasures
    28. getAllMeasuresAsync
    29. getCell
    30. getColumns
    31. getColumnsAsync
    32. getCondition
    33. getFilter
    34. getFlatSort
    35. getFormat
    36. getMeasures
    37. getMeasuresAsync
    38. getMembers
    39. getMembersAsync
    40. getOptions
    41. getReport
    42. getReportFilters
    43. getReportFiltersAsync
    44. getRows
    45. getRowsAsync
    46. getSelectedCell
    47. getSort
    48. getTableSizes
    49. getXMLACatalogs
    50. getXMLACatalogsAsync
    51. getXMLACubes
    52. getXMLACubesAsync
    53. getXMLADataSources
    54. getXMLADataSourcesAsync
    55. getXMLAProviderName
    56. getXMLAProviderNameAsync
    57. load
    58. off
    59. on
    60. open
    61. openCalculatedValueEditor
    62. openFieldsList
    63. openFilter
    64. print
    65. refresh
    66. removeAllCalculatedMeasures
    67. removeAllConditions
    68. removeCalculatedMeasure
    69. removeCondition
    70. removeSelection
    71. runQuery
    72. save
    73. scrollToColumn
    74. scrollToRow
    75. setFilter
    76. setFlatSort
    77. setFormat
    78. setOptions
    79. setReport
    80. setSort
    81. setTableSizes
    82. shareReport
    83. showCharts
    84. showGrid
    85. showGridAndCharts
    86. sortingMethod
    87. sortValues
    88. updateData
  4. Events
    1. All events
    2. afterchartdraw
    3. aftergriddraw
    4. beforegriddraw
    5. beforetoolbarcreated
    6. cellclick
    7. celldoubleclick
    8. chartclick
    9. datachanged
    10. dataerror
    11. datafilecancelled
    12. dataloaded
    13. drillthroughclose
    14. drillthroughopen
    15. exportcomplete
    16. exportstart
    17. fieldslistclose
    18. fieldslistopen
    19. filterclose
    20. filteropen
    21. loadingdata
    22. loadinglocalization
    23. loadingolapstructure
    24. loadingreportfile
    25. localizationerror
    26. localizationloaded
    27. olapstructureerror
    28. olapstructureloaded
    29. openingreportfile
    30. printcomplete
    31. printstart
    32. querycomplete
    33. queryerror
    34. ready
    35. reportchange
    36. reportcomplete
    37. reportfilecancelled
    38. reportfileerror
    39. runningquery
    40. unauthorizederror
    41. update
  5. Custom data source API
    1. All requests
    2. /handshake request
    3. /fields request
    4. /members request
    5. /select request for the pivot table
    6. /select request for the flat table
    7. /select request for the drill-through view
    8. Field Object
    9. Filter Object
    10. Filter Group Object
  6. MongoDB Connector API
    1. All methods
    2. getSchema
    3. getMembers
    4. getSelectResult
  7. Flexmonster Connector for amCharts
    1. All methods
    2. amcharts.getData
    3. amcharts.getCategoryName
    4. amcharts.getMeasureNameByIndex
    5. amcharts.getNumberOfMeasures
    6. amcharts.getNumberFormatPattern
Table of contents

getMembers

getMembers(hierarchyName: 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 hierarchyName 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 hierarchyName, memberName and callbackHandler parameters.

Parameters

  • hierarchyName – String. The name of the hierarchy.
  • memberName (optional) – String. The hierarchy’s member name. This parameter can be an empty string, only the members for the first level of the hierarchy will be returned.
  • callbackHandler (optional) – Function. A callback handler becomes useful when you work with OLAP data sources and you are not really sure whether you have got all list of members taken in completely or not. OLAP data source is not loaded for the whole data from the moment of call but will be loaded on demand. A callback handler will be called by the component to pass the result asynchronously when the list of members is loaded. If you have already loaded the specified hierarchy members’ list into the component, callbackHandler will return instantly the result of the object.

Returns

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.

Examples

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.

See also

getMembersAsync