Fx.BI

Fx.BI: Related APIs for obtaining BI report data

1. Query the target rule name and id of BI statistical chart

Fx.BI.getRules(<String id>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| id | String | statistic chart id |

return type

APIResult

Return value description

Data is a Map, and measureFields stores responses

Java example

APIResult rules = Fx.BI.getRules("BI_60f787675f32870001714eb8");
Fx.log.info(rules);

Groovy example

def rules = Fx.BI.getRules("BI_60f787675f32870001714eb8")
Fx.log.info(rules)

2. Get target completion rate

Fx.BI.getTargetCompletion(<String id>, <Map userFilters>, <List measureFieldIds>, <String optionID>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| id | String | statistic chart id |
| userFilters | Map | Map type, key value includes:
userFilters: user filter (list) < fieldId: filter id, targetType: filter type (0 person, 1 department, 2 date), value: and targetType corresponding (such as: user id[1000,1001], date range ["2021-01-01", "2021-02-01"]) >;
ruleFilters: target rule filter (map), non Mandatory, the default is the target rule configured by the user target completion rate report <optionCode: rule code, isChild: whether it is a sub-rule (1: yes, 0: no) >;
isShowDimension: whether to return the target value or completion value The data is 0, not required, the default value is 0, value: 1-yes, 0-no |
| measureFieldIds | List | return value field id (for example: only configure the completion value, then return the configured dimension and completion value, optional, if not configured, all statistical indicators will be returned by default) |
| optionID | String | Optional parameter, scene ID, the default value is the statistical chart configuration scene |

return type

APIResult

Return value description

fieldName: field name fieldId: field id value: return value (list), refer to the return value in the code example formattedValue: formatted value, such as: 23,200, formattedShowValue: formatted value such as: 23,200.00 valueCode: Department or personnel id, note that when the dimension is department, the valueCode is 1076g, while the employee's valueCode is 1067 value: unformatted value

Return value reference <div> [{ fieldName = employee ID,value = [{ formattedValue = bi , formattedShowValue = bi , valueCode = 1067 , value = bi }] , fieldId = BI_5bcec12156fc11160c10043d }, { fieldName = target value, value = [{ formattedValue = 960.00 , formattedShowValue.0} = 9, 90 , fieldId = BI_5d9ff3331b9ad40001873791 }, { fieldName = completed value, value = [{ formattedValue = 23,200, formattedShowValue = 23, 200.00, value = 23200 }] , fieldId = BI_nvv76jyhwg6qoojfw9ike31u

Java example

final Map<String, Object>userFilters = Maps.of(
        "userFilters", Lists. newArrayList(
                Maps.of(
                        "fieldId", "BI_5bcec12156fc11160c10043d",
                        "targetType", 0, // (0 person, 1 department, 2 date)
                        "value", Lists. newArrayList(1067)
                ),
                Maps.of(
                        "fieldId", "BI_5bcec12156fc11160c100443",
                        "targetType", 2, // (0 person, 1 department, 2 date)
                        "value", Lists. newArrayList("2021-01-01", "2021-02-01")
                )
        ),
        "ruleFilters", Maps.of(
                "optionCode", Lists. newArrayList("6079743a2822bb000156541b"),
                "isChild", 0
        ),
        "isShowDimension", 0
);
APIResult rules = Fx.BI.getTargetCompletion("BI_60f787675f32870001714eb8", userFilters, Lists.newArrayList("BI_nvv76jyhwg6qoojfw9ike31u"), "BI_59a3e59333b39e09b44e9db1");
Fx.log.info(rules);

Groovy example

Map userFilters = [
        "userFilters" : [
                [
                        "fieldId" : "BI_5bcec12156fc11160c10043d",
                        "targetType": 0, // (0 person, 1 department, 2 date)
                        "value" : [1067]
                ],
                [
                        "fieldId" : "BI_5bcec12156fc11160c100443",
                        "targetType": 2, // (0 person, 1 department, 2 date)
                        "value" : ["2021-01-01", "2021-02-01"]
                ]
        ],
        "ruleFilters" : [
                "optionCode": ["6079743a2822bb000156541b"],
                "isChild" : 0
        ],
        "isShowDimension": 0
]
def rules = Fx.BI.getTargetCompletion("BI_60f787675f32870001714eb8", userFilters, ["BI_nvv76jyhwg6qoojfw9ike31u"], "BI_59a3e59333b39e09b44e9db1")
Fx.log.info(rules)

3. Chart data loading

Fx.BI.loadViewData(<String viewId>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |

return type

APIResult

Return value description

Map

Groovy example

Fx.BI.loadViewData("BI_5f27dc882cfb0a0001346786")

4. Get chart filter

Fx.BI.getFiltersResult(<String viewId>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |

return type

APIResult

Return value description

Map

Groovy example

Fx.BI.getFiltersResult("BI_5f27dc882cfb0a0001346786")

5. Chart data loading

Fx.BI.pageLoadViewData(<String viewId>, <Integer pageNumber>, <Integer pageSize>)

Parameter Description

parameter type description
viewId String Chart ID
pageNumber Integer Page Number
pageSize Integer Number of single page records

return type

APIResult

Return value description

Map

Groovy example



6. Chart data query

Fx.BI.queryViewData(<String viewId>, <String defaultFilterOptionID>, <List filterList>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |
| defaultFilterOptionID | String | permission scenario |
| filterList | List | custom filter |

return type

APIResult

Return value description

Map

Groovy example

List filters = [["filterId":"BI_5f464863fd6d860001ee93da","value1":"Zhang San"]]
def(isError3,data3,errorMsg3) = Fx.BI.queryViewData("BI_5f27dc882cfb0a0001346786", "BI_59a3e59333b39e09b44e9db1",filters)
if(!isError3){
  log.info("Pagination information:"+data3["page"])
  log.info("Header information: "+data3["displayFields"])
  log.info("dataset:"+data3["dataSet"])
}else{
  log.info("Condition query failed: "+errorMsg3)
}

7. Chart data query

Fx.BI.pageQueryViewData(<String viewId>, <Integer pageNumber>, <Integer pageSize>, <String defaultFilterOptionID>, <List filterList>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |
| pageNumber | Integer | Page Number |
| pageSize | Integer | Number of records on a single page|
| defaultFilterOptionID | String | permission scenario |
| filterList | List | custom filter |

return type

APIResult

Return value description

Map

Groovy example

List filters = [["filterId":"BI_5f464863fd6d860001ee93da","value1":"Zhang San"]]
def(isError3,data3,errorMsg3) = Fx.BI.pageQueryViewData("BI_5f27dc882cfb0a0001346786",null,null,"BI_59a3e59333b39e09b44e9db1","1",filters)
if(!isError3){
  log.info("Pagination information:"+data3["page"])
  log.info("Header information: "+data3["displayFields"])
  log.info("dataset:"+data3["dataSet"])
}else{
  log.info("Condition query failed: "+errorMsg3)
}

8. Chart viewId query data

Fx.BI.queryPivotViewDataById(<String viewId>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |

return type

APIResult

Return value description

Map

Groovy example

// Query the crosstab by viewId
def (isError, data, errorMsg) = Fx.BI.queryPivotViewDataById("BI_62973467376efe000172be38")
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["headerFields"])
    log.info("dataset:" + data["dataSet"])
    log.info("Column grouping:" + data["colGroupFields"])
    log.info("row grouping:" + data["rowGroupFields"])
    log.info("Statistics column:" + data["statFields"])
    log.info("summaryDataSet:" + data["summaryDataSet"])
    log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
    log.info("Query failed:" + errorMsg)
}

9. Query data through chart id and custom pagination

Fx.BI.queryPivotViewDataByPage(<String viewId>, <Integer pageNumber>, <Integer pageSize>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID|
| pageNumber | Integer | Page Number |
| pageSize | Integer | Number of single page records |

return type

APIResult

Return value description

Map

Groovy example

// Query the crosstab through viewId and paging information page
def (isError, data, errorMsg) = Fx.BI.queryPivotViewDataByPage("BI_62973467376efe000172be38", 1, 1)
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["headerFields"])
    log.info("dataset:" + data["dataSet"])
    log.info("Column grouping:" + data["colGroupFields"])
    log.info("row grouping:" + data["rowGroupFields"])
    log.info("Statistics column:" + data["statFields"])
    log.info("summaryDataSet:" + data["summaryDataSet"])
    log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
    log.info("Query failed:" + errorMsg)
}

10. Query data by scene and filter

Fx.BI.queryPivotViewDataByFilter(<String viewId>, <String defaultFilterOptionID>, <List filterList>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |
| defaultFilterOptionID | String | permission scenario |
| filterList | List | custom filter |

return type

APIResult

Return value description

Map

Groovy example

// Query crosstab data through viewId, filters and defaultFilterOptionId
List filters = [["filterId": "BI_62c68112deef7b0001c1f756", "value1": "[{\"id\":1001,\"type\":\"g\"}]", "value2": ""] ]
def (isError, data, errorMsg) = Fx.BI.queryPivotViewDataByFilter("BI_62973467376efe000172be38", "BI_59a3e59333b39e09b44e9db2", filters)
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["headerFields"])
    log.info("dataset:" + data["dataSet"])
    log.info("Column grouping:" + data["colGroupFields"])
    log.info("row grouping:" + data["rowGroupFields"])
    log.info("Statistics column:" + data["statFields"])
    log.info("summaryDataSet:" + data["summaryDataSet"])
    log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
    log.info("Query failed:" + errorMsg)
}

11. Crosstab data query

Fx.BI.queryPivotReportData(<String viewId>, <Integer pageNumber>, <Integer pageSize>, <String defaultFilterOptionID>, <List filterList>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |
| pageNumber | Integer | Page Number |
| pageSize | Integer | Number of single page records |
| defaultFilterOptionID | String | permission scenario |
| filterList | List | custom filter |

return type

APIResult

Return value description

Map

Groovy example

List filters = [["filterId": "BI_62c68112deef7b0001c1f756", "value1": "[{\"id\":1001,\"type\":\"g\"}]", "value2": ""] ]
def (isError, data, errorMsg) = Fx.BI.queryPivotReportData("BI_62973467376efe000172be38", 1, 1, "BI_59a3e59333b39e09b44e9db2", filters)
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["headerFields"])
    log.info("dataset:" + data["dataSet"])
    log.info("Column grouping:" + data["colGroupFields"])
    log.info("row grouping:" + data["rowGroupFields"])
    log.info("Statistics column:" + data["statFields"])
    log.info("summaryDataSet:" + data["summaryDataSet"])
    log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
    log.info("Query failed:" + errorMsg)
}

12. Table data query

Fx.BI.queryLwtViewData(<String viewId>, <Integer pageNumber>, <Integer pageSize>, <List filterList>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |
| pageNumber | Integer | Page Number |
| pageSize | Integer | Number of single page records |
| filterList | List | custom filter |

return type

APIResult

Return value description

Map

Groovy example

List filterList = [["filterId": "BI_62cb8af6741ac20001debf72", "value1": "", "value2": "", "dateRangeId": 6]];
def (isError, data, errorMsg) = Fx.BI.queryLwtViewData("BI_lwt_1657506871248", 1, 1, filterList)
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["displayFields"])
    log.info("dataset:" + data["dataSet"])
} else {
    log.info("Query failed:" + errorMsg)
}

13. Chart viewId query data

Fx.BI.queryLwtViewDataById(<String viewId>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |

return type

APIResult

Return value description

Map

Groovy example

def (isError, data, errorMsg) = Fx.BI.queryLwtViewDataById("BI_lwt_1657506871248")
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["displayFields"])
    log.info("dataset:" + data["dataSet"])
} else {
    log.info("Query failed:" + errorMsg)
}

14. Query data through chart id and custom pagination

Fx.BI.queryLwtViewDataByPage(<String viewId>, <Integer pageNumber>, <Integer pageSize>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ------------------------------------- |
| viewId | String | Chart ID |
| pageNumber | Integer | Page Number |
| pageSize | Integer | Number of single page records |

return type

APIResult

Return value description

Map

Groovy example

def (isError, data, errorMsg) = Fx.BI.queryLwtViewDataByPage("BI_lwt_1657506871248", 1, 1)
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["displayFields"])
    log.info("dataset:" + data["dataSet"])
} else {
    log.info("Query failed:" + errorMsg)
}

15. Query data by filtering

Fx.BI.queryLwtViewDataByFilter(<String viewId>, <List filterList>)

Parameter Description

| parameter | type | description |
| ------------ | ------------ | ----------------------- ----------------------------------------- |
| viewId | String | Chart ID |
| filterList | List | custom filter |

return type

APIResult

Return value description

Map

Groovy example

List filterList = [["filterId": "BI_62cb8af6741ac20001debf72", "value1": "", "value2": "", "dateRangeId": 6]];
def (isError, data, errorMsg) = Fx.BI.queryLwtViewDataByFilter("BI_lwt_1657506871248", filterList)
if (!isError) {
    log.info("Pagination information:" + data["page"])
    log.info("Header information:" + data["displayFields"])
    log.info("dataset:" + data["dataSet"])
} else {
    log.info("Query failed:" + errorMsg)
}

2022-11-23
0 0