🍉 Meet Flexmonster Pivot Table & Charts 2.9.Check out all hot features!
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. Filtering
      1. Filter Object
      2. Number Query Object
      3. String Query Object
      4. Date Query Object
      5. Time Query Object
      6. Value Query Object
    8. Format Object
    9. Conditional Format Object
    10. Table Sizes Object
    11. Cell Data Object
    12. Chart Data Object
    13. Toolbar Object
    14. Chart Legend Data Object
    15. Share Report Connection Object
  3. Methods
    1. All methods
    2. All async methods
    3. addCalculatedMeasure
    4. addCondition
    5. alert
    6. clear
    7. clearFilter
    8. clearXMLACache
    9. closeFieldsList
    10. collapseAllData
    11. collapseData
    12. connectTo
    13. customizeAPIRequest
    14. customizeCell
    15. customizeChartElement
    16. customizeContextMenu
    17. dispose
    18. expandAllData
    19. expandData
    20. exportTo
    21. getAllConditions
    22. getAllHierarchies
    23. getAllMeasures
    24. getCell
    25. getColumns
    26. getCondition
    27. getFilter
    28. getFlatSort
    29. getFormat
    30. getMeasures
    31. getMembers
    32. getOptions
    33. getReport
    34. getReportFilters
    35. getRows
    36. getSelectedCell
    37. getSort
    38. getTableSizes
    39. getXMLACatalogs
    40. getXMLACubes
    41. getXMLADataSources
    42. getXMLAProviderName
    43. load
    44. off
    45. on
    46. open
    47. openCalculatedValueEditor
    48. openFieldsList
    49. openFilter
    50. print
    51. refresh
    52. removeAllCalculatedMeasures
    53. removeAllConditions
    54. removeCalculatedMeasure
    55. removeCondition
    56. removeSelection
    57. runQuery
    58. save
    59. scrollToColumn
    60. scrollToRow
    61. setFilter
    62. setFlatSort
    63. setFormat
    64. setOptions
    65. setReport
    66. setSort
    67. setTableSizes
    68. shareReport
    69. showCharts
    70. showGrid
    71. showGridAndCharts
    72. sortingMethod
    73. sortValues
    74. 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

getData

getData(options: Object, callbackHandler: Function, updateHandler: Function)

[starting from version: 2.3]

Note! This method is only for integration with 3rd party charting libraries.

getData asynchronously passes the data to callbackHandler and updateHandler. You can retrieve the data that pivot instance is showing or define the slice with the data you would like to get.

Parameters

  • options – Object. This object has the following parameters:
    • slice (optional) – Object. Contains information about the slice. If not defined, the API call will return data displayed in the pivot table. Note: this property is available for CSV and JSON data sources only.
  • callbackHandler – Function. Gets two input parameters – rawData and error. Tracks when the data is ready.
  • updateHandler (optional) – Function. Gets two input parameters – rawData and error. Tracks if the data in the pivot table was filtered/sorted/etc or a number format was changed.

Response

rawData is an object asynchronously passed to callbackHandler and updateHandler. It has the following structure:

  • data – Array. Array of objects that represents all the data from the dataset. Each object can have c0 - cN, r0 - rN and v0 - vN parameters, where c0 - cN are for column members, r0 - rN are for row members and v0 - vN are for values. Note that if a cell has no value, NaN will be put in corresponding v0 - vN.
  • meta – Object. Meta data about the returned data:
    • caption – String. Chart’s title.
    • cAmount – Number. The number of fields in columns in the slice.
    • c0Name – String. The caption of the first field in columns in the slice. In meta object will be as many c0Name, c1Name, c2Name, etc as cAmount.
    • formats – Array. Formats of measures from the slice. It has as many format objects as vAmount.
    • rAmount – Number. The number of fields in rows in the slice.
    • r0Name – String. The caption of the first field in rows in the slice. In meta object will be as many r0Name, r1Name, r2Name, etc as rAmount.
    • vAmount – Number. The number of measures in the slice.
    • v0Name – String. The caption of the first measure in the slice. In meta object will be as many v0Name, v1Name, v2Name, etc as vAmount.

error is an object that is returned if getData() gets terminated if the web page is likely to crash due to the too large dataset uploaded. Unless the object is undefined, it’s asynchronously passed to callbackHandler and updateHandler. It has the following structure:

  • dataHeight – Number. The number of rows from the report that failed to be retrieved by getData().
  • dataWidth – Number. The number of columns that failed to be retrieved by getData().
  • errorMessage – String. An error message. Its text description can be changed via the localization file. Default value: "Dataset is too large. Some fields cannot be expanded. Please narrow down the dataset.".

Example

Example of rawData response. We have the following pivot table:

Category
Color Accessories Components Total Sum of Price
blue 553 584 553 584
green 28 008 207 128 235 136
Grand Total 28 008 760 712 788 720

The result of the API call

flexmonster.getData({}, function(data) {console.log(data)})

will be the following:

{
data:[
{
v0:788720
},
{
r0:"blue",
v0:553584
},
{
r0:"green",
v0:235136
},
{
c0:"Accessories",
v0:28008
},
{
c0:"Components",
v0:760712
},
{
c0:"Accessories",
r0:"blue", v0:NaN
},
{
c0:"Components",
r0:"blue", v0:553584
},
{
c0:"Accessories",
r0:"green", r0:28008
},
{
c0:"Components", r0:"green",
v0:207128
}
],
meta: {
caption:"",
cAmount:1,
c0Name:"Category",
formats: [{
name: "",
currencySymbol: "",
negativeCurrencyFormat: "-$1",
positiveCurrencyFormat: "$1",
decimalPlaces: -1,
decimalSeparator: ".",
divideByZeroValue: "Infinity",
infinityValue: "Infinity",
isPercent: false,
maxDecimalPlaces: -1,
maxSymbols: 20,
negativeNumberFormat: "-1",
nullValue: "",
textAlign: "right",
thousandsSeparator: " ",
beautifyFloatingPoint: true
}],
rAmount: 1,
r0Name: "Color",
vAmount: 1,
v0Name: "Sum of Price"
}
}

data array in rawData object contains all numbers shown in the pivot table including grand totals, totals and subtotals.

Each object with grand totals contains values (v0 - vN) only. In our example this is:

{
v0:788720
}

Each object with totals contains either values (v0 - vN) and columns (c0 - cN) or values and rows (r0 - rN). In our example this is:

{ 
r0:"blue",
v0:553584
},
{
r0:"green",
v0:235136
},
{
c0:"Accessories",
v0:28008
},
{
c0:"Components",
v0:760712
}

Depending on for which visualization tool you are requesting data from the pivot table, you may need data with grand totals, totals and subtotals or without them. For some chart types, only totals are necessary.

Check out the example on JSFiddle.

Read a tutorial how getData is used for Integration with any charting library.