🎉 Flexmonster Pivot Table & Charts v2.8 has arrived!Read the blog post
Get Free Trial
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. Cell Data Object
    11. Chart Data Object
    12. Toolbar Object
  3. Methods
    1. All methods
    2. addCalculatedMeasure
    3. addCondition
    4. alert
    5. clear
    6. clearFilter
    7. clearXMLACache
    8. closeFieldsList
    9. collapseAllData
    10. collapseData
    11. connectTo
    12. customizeAPIRequest
    13. customizeCell
    14. customizeContextMenu
    15. dispose
    16. expandAllData
    17. expandData
    18. exportTo
    19. getAllConditions
    20. getAllHierarchies
    21. getAllMeasures
    22. getCell
    23. getColumns
    24. getCondition
    25. getFilter
    26. getFormat
    27. getMeasures
    28. getMembers
    29. getOptions
    30. getReport
    31. getReportFilters
    32. getRows
    33. getSelectedCell
    34. getSort
    35. getXMLACatalogs
    36. getXMLACubes
    37. getXMLADataSources
    38. getXMLAProviderName
    39. load
    40. off
    41. on
    42. open
    43. openCalculatedValueEditor
    44. openFieldsList
    45. openFilter
    46. print
    47. refresh
    48. removeAllCalculatedMeasures
    49. removeAllConditions
    50. removeCalculatedMeasure
    51. removeCondition
    52. removeSelection
    53. runQuery
    54. save
    55. setFilter
    56. setFormat
    57. setOptions
    58. setReport
    59. setSort
    60. showCharts
    61. showGrid
    62. showGridAndCharts
    63. sortingMethod
    64. sortValues
    65. 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. update
  5. Custom API requests
    1. All requests
    2. /handshake request
    3. /fields request
    4. /members request
    5. /select request for pivot table
    6. /select request for flat table
    7. /select request for drill-through view
    8. Field Object
  6. MongoDB Connector API
    1. All methods
    2. getSchema
    3. getMembers
    4. getSelectResult
Table of contents

/select request for flat table

[starting from version: 2.8]

A request for data.

Request

{
    "type": "select"
    "index": string,
    "query": {
        "fields": FieldObject[],
        "filter"[]: {
            "field": FieldObject,
            "include": string[] | number[],
            "exclude": string[] | number[],
            "query": {
                (condition): string | number | string[] | number[]
            },
            "value": {
                "field": FieldObject,
                "func": string
            }
        },
        "aggs": {
            "values"[]: {
                "field": FieldObject,
                "func": string
            }
        }
    },
    "page": number
}

Request has the following parameters:

  • query – Object. A query object.
    • fields – Array of Field objects. Array of fields (columns) to include in the response.
    • filter (optional) – Array. Query filters.The part of query that specifies what filters should be applied. Each field with filter is represented by a separate object.
    • aggs (optional) – Array. Query column totals.
      • values – Array. Columns to aggregate totals for.
        Fields that have at least one supported aggregation defined in the schema can be selected for this part of the query.
        • field – Field object.
        • func – String. Aggregation function. Supported values include: "sum", "count", "distinctcount", "average", "median", "product", "min", "max", "percent", "percentofcolumn", "percentofrow", "index", "stdevp", "stdevs", "none". For each field the list of supported aggregations is defined in the response to the fields request.
  • page – Number. Page number. It can be used to load data by parts. If response contains pageTotal parameter, additional requests will be performed to load the remaining pages. Starts from 0.

Response

{
    "fields"[]: {
        "uniqueName": string
    },
    "hits"[]: [
        (index): string | number
    ],
    "aggs"[]: {
        "values": {
            (uniqueName): {
                (func): number
            }
        }
    },
    "page": number,
    "pageTotal": number
}

Response has the following parameters:

  • fields – Array. Fields (columns) included in the response.
    • uniqueName – String. Field’s unique name.
  • hits – Array. A two-dimensional array containing data.
  • hits[][(index): string | number]. Data row, where (index) is a field (column) index.
  • aggs (optional) – Array. Column totals.
    • values – Object. Numeric values that are calculated for column totals.
      • (uniqueName) – Object. (uniqueName) is a field’s unique name.
        • (func) – Number. Result of the calculation, where (func) is the aggregation function.
  • page (optional) – Number. Current page number. Starts from 0.
  • pageTotal (optional) – Number. The total number of pages. It can be used to load members by parts.

Example

Request:

{
    "index": "data-set-123",
    "type": "select",
    "query": {
        "fields": [
            {
                "uniqueName": "country",
                "type": "string"
            },
            {
                "uniqueName": "city",
                "type": "string"
            },
            {
                "uniqueName": "price",
                "type": "number"
            },
            {
                "uniqueName": "quantity",
                "type": "number"
            }
        ],
        "aggs": {
            "values": [{
                "func": "sum", 
                "field": {
                    "uniqueName": "price",
                    "type": "number"
                }
            }, {
                "func": "sum", 
                "field": {
                    "uniqueName": "quantity",
                    "type": "number"
                }
            }]
        }
    },
    "page": 0
}

Response:

{
    "fields": [
        { "uniqueName": "country" },
        { "uniqueName": "city" },
        { "uniqueName": "price" },
        { "uniqueName": "quantity" }
    ],
    "hits": [
        ["Canada", "Toronto", 53, 2],
        ["...", "...", 1, 1]
    ],
    "aggs": [{
        "values": {
            "price": {
                "sum": 123
            },
            "quantity": {
                "sum": 5
            }
        }
    }]
}

See also

/handshake request
/fields request
/members request
/select request for pivot table
/select request for drill-through view
Field Object