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)
}