Fx.BI:获取BI报表数数据的相关API
1. getRules 查询BI统计图目标规则名称和id
Fx.BI.getRules(<String id>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
id | String | 统计图id |
返回值类型
APIResult
返回值说明
返回的数据类型: Data是Map,measureFields存放应答
Java举例
APIResult rules = Fx.BI.getRules("BI_60f787675f32870001714eb8");
Fx.log.info(rules);
Groovy举例
def rules = Fx.BI.getRules("BI_60f787675f32870001714eb8")
Fx.log.info(rules)
2. getTargetCompletion 获取目标完成率
Fx.BI.getTargetCompletion(<String id>, <Map userFilters>, <List measureFieldIds>, <String optionID>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
id | String | 统计图id |
userFilters | Map | Map类型,key值包括: userFilters:用户筛选器(list) < fieldId:筛选器id,targetType:筛选器类型(0个人,1部门,2日期),value:与targetType对应(如:用户id[1000,1001],日期区间["2021-01-01","2021-02-01"]) > ; ruleFilters:目标规则筛选器(map) ,非必填,默认为用户目标完成率报表配置的目标规则 < optionCode:规则code,isChild:是否为子规则(1:是,0:否) > ; isShowDimension:是否返回目标值或完成值为0的数据,非必填,默认值为0,value:1-是,0-否 |
measureFieldIds | List | 返回值字段id(如:只配置完成值,则返回配置的维度和完成值,非必填,不配置默认返回所有统计指标) |
optionID | String | 可选参数,场景ID,默认值为统计图配置场景 |
返回值类型
APIResult
返回值说明
返回的数据类型: fieldName:字段名称 fieldId:字段id value:返回值 (list),可参考代码实例中的返回值 formattedValue:格式化后的值,如:2.32万, formattedShowValue:格式化后的值 如:23,200.00 valueCode:部门或人员id ,注意维度为部门时valueCode为1076g,而员工的valueCode是1067 value:未格式化后的值
返回值参考 <div> [{ fieldName = 员工ID , value = [{ formattedValue = bi , formattedShowValue = bi , valueCode = 1067 , value = bi }] , fieldId = BI_5bcec12156fc11160c10043d }, { fieldName = 目标值 , value = [{ formattedValue = 960.00 , formattedShowValue = 960.00 , value = 960.0 }] , fieldId = BI_5d9ff3331b9ad40001873791 }, { fieldName = 完成值 , value = [{ formattedValue = 2.32 万, formattedShowValue = 23, 200.00, value = 23200 }] , fieldId = BI_nvv76jyhwg6qoojfw9ike31u }] </div>
Java举例
final Map<String, Object>userFilters = Maps.of(
"userFilters", Lists.newArrayList(
Maps.of(
"fieldId", "BI_5bcec12156fc11160c10043d",
"targetType", 0,// (0个人,1部门,2日期)
"value", Lists.newArrayList(1067)
),
Maps.of(
"fieldId", "BI_5bcec12156fc11160c100443",
"targetType", 2,// (0个人,1部门,2日期)
"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举例
Map userFilters = [
"userFilters" : [
[
"fieldId" : "BI_5bcec12156fc11160c10043d",
"targetType": 0,// (0个人,1部门,2日期)
"value" : [1067]
],
[
"fieldId" : "BI_5bcec12156fc11160c100443",
"targetType": 2,// (0个人,1部门,2日期)
"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. loadViewData 图表数据加载
Fx.BI.loadViewData(<String viewId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
Fx.BI.loadViewData("BI_5f27dc882cfb0a0001346786")
4. getFiltersResult 获取图表筛选器
Fx.BI.getFiltersResult(<String viewId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
Fx.BI.getFiltersResult("BI_5f27dc882cfb0a0001346786")
5. pageLoadViewData 图表数据加载
Fx.BI.pageLoadViewData(<String viewId>, <Integer pageNumber>, <Integer pageSize>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
pageNumber | Integer | 页码 |
pageSize | Integer | 单页记录数 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
6. queryViewData 图表数据查询
Fx.BI.queryViewData(<String viewId>, <String defaultFilterOptionID>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
defaultFilterOptionID | String | 权限场景 |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
List filters = [["filterId":"BI_5f464863fd6d860001ee93da","value1":"张三"]]
def(isError3,data3,errorMsg3) = Fx.BI.queryViewData("BI_5f27dc882cfb0a0001346786","BI_59a3e59333b39e09b44e9db1",filters)
if(!isError3){
log.info("分页信息:"+data3["page"])
log.info("表头信息:"+data3["displayFields"])
log.info("数据集:"+data3["dataSet"])
}else{
log.info("条件查询失败:"+errorMsg3)
}
7. pageQueryViewData 图表数据查询
Fx.BI.pageQueryViewData(<String viewId>, <Integer pageNumber>, <Integer pageSize>, <String defaultFilterOptionID>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
pageNumber | Integer | 页码 |
pageSize | Integer | 单页记录数 |
defaultFilterOptionID | String | 权限场景 |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
List filters = [["filterId":"BI_5f464863fd6d860001ee93da","value1":"张三"]]
def(isError3,data3,errorMsg3) = Fx.BI.pageQueryViewData("BI_5f27dc882cfb0a0001346786",null,null,"BI_59a3e59333b39e09b44e9db1","1",filters)
if(!isError3){
log.info("分页信息:"+data3["page"])
log.info("表头信息:"+data3["displayFields"])
log.info("数据集:"+data3["dataSet"])
}else{
log.info("条件查询失败:"+errorMsg3)
}
8. queryPivotViewDataById 图表viewId查询数据
Fx.BI.queryPivotViewDataById(<String viewId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
// 通过viewId查询交叉表
def (isError, data, errorMsg) = Fx.BI.queryPivotViewDataById("BI_62973467376efe000172be38")
if (!isError) {
log.info("分页信息:" + data["page"])
log.info("表头信息:" + data["headerFields"])
log.info("数据集:" + data["dataSet"])
log.info("列分组:" + data["colGroupFields"])
log.info("行分组:" + data["rowGroupFields"])
log.info("统计列:" + data["statFields"])
log.info("summaryDataSet:" + data["summaryDataSet"])
log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
log.info("查询失败:" + errorMsg)
}
9. queryPivotViewDataByPage 通过图表id和自定义分页查询数据
Fx.BI.queryPivotViewDataByPage(<String viewId>, <Integer pageNumber>, <Integer pageSize>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
pageNumber | Integer | 页码 |
pageSize | Integer | 单页记录数 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
// 通过viewId和分页信息page查询交叉表
def (isError, data, errorMsg) = Fx.BI.queryPivotViewDataByPage("BI_62973467376efe000172be38", 1, 1)
if (!isError) {
log.info("分页信息:" + data["page"])
log.info("表头信息:" + data["headerFields"])
log.info("数据集:" + data["dataSet"])
log.info("列分组:" + data["colGroupFields"])
log.info("行分组:" + data["rowGroupFields"])
log.info("统计列:" + data["statFields"])
log.info("summaryDataSet:" + data["summaryDataSet"])
log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
log.info("查询失败:" + errorMsg)
}
10. queryPivotViewDataByFilter 通过场景和筛选查询数据
Fx.BI.queryPivotViewDataByFilter(<String viewId>, <String defaultFilterOptionID>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
defaultFilterOptionID | String | 权限场景 |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
// 通过viewId,filters和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("分页信息:" + data["page"])
log.info("表头信息:" + data["headerFields"])
log.info("数据集:" + data["dataSet"])
log.info("列分组:" + data["colGroupFields"])
log.info("行分组:" + data["rowGroupFields"])
log.info("统计列:" + data["statFields"])
log.info("summaryDataSet:" + data["summaryDataSet"])
log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
log.info("查询失败:" + errorMsg)
}
11. queryPivotReportData 交叉表数据查询
Fx.BI.queryPivotReportData(<String viewId>, <Integer pageNumber>, <Integer pageSize>, <String defaultFilterOptionID>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
pageNumber | Integer | 页码 |
pageSize | Integer | 单页记录数 |
defaultFilterOptionID | String | 权限场景 |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
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("分页信息:" + data["page"])
log.info("表头信息:" + data["headerFields"])
log.info("数据集:" + data["dataSet"])
log.info("列分组:" + data["colGroupFields"])
log.info("行分组:" + data["rowGroupFields"])
log.info("统计列:" + data["statFields"])
log.info("summaryDataSet:" + data["summaryDataSet"])
log.info("summaryDisplayFields:" + data["summaryDisplayFields"])
} else {
log.info("查询失败:" + errorMsg)
}
12. queryLwtViewData 拼表数据查询
Fx.BI.queryLwtViewData(<String viewId>, <Integer pageNumber>, <Integer pageSize>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
pageNumber | Integer | 页码 |
pageSize | Integer | 单页记录数 |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
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("分页信息:" + data["page"])
log.info("表头信息:" + data["displayFields"])
log.info("数据集:" + data["dataSet"])
} else {
log.info("查询失败:" + errorMsg)
}
13. queryLwtViewDataById 图表viewId查询数据
Fx.BI.queryLwtViewDataById(<String viewId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
def (isError, data, errorMsg) = Fx.BI.queryLwtViewDataById("BI_lwt_1657506871248")
if (!isError) {
log.info("分页信息:" + data["page"])
log.info("表头信息:" + data["displayFields"])
log.info("数据集:" + data["dataSet"])
} else {
log.info("查询失败:" + errorMsg)
}
14. queryLwtViewDataByPage 通过图表id和自定义分页查询数据
Fx.BI.queryLwtViewDataByPage(<String viewId>, <Integer pageNumber>, <Integer pageSize>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
pageNumber | Integer | 页码 |
pageSize | Integer | 单页记录数 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
def (isError, data, errorMsg) = Fx.BI.queryLwtViewDataByPage("BI_lwt_1657506871248", 1, 1)
if (!isError) {
log.info("分页信息:" + data["page"])
log.info("表头信息:" + data["displayFields"])
log.info("数据集:" + data["dataSet"])
} else {
log.info("查询失败:" + errorMsg)
}
15. queryLwtViewDataByFilter 通过筛选查询数据
Fx.BI.queryLwtViewDataByFilter(<String viewId>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
List filterList = [["filterId": "BI_62cb8af6741ac20001debf72", "value1": "", "value2": "", "dateRangeId": 6]];
def (isError, data, errorMsg) = Fx.BI.queryLwtViewDataByFilter("BI_lwt_1657506871248", filterList)
if (!isError) {
log.info("分页信息:" + data["page"])
log.info("表头信息:" + data["displayFields"])
log.info("数据集:" + data["dataSet"])
} else {
log.info("查询失败:" + errorMsg)
}
16. queryMultiDimViewDataById 根据Id查询 多维度/层级统计图
Fx.BI.queryMultiDimViewDataById(<String viewId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
返回值类型
APIResult
返回值说明
Map
Groovy举例
String viewId = "BI_64e9dc157386e90001dfba59";//图表名称-》指定层级带序号-3
def (Boolean isError, Nap data, String errorMsg) = Fx.BI.queryMultiDimViewDataById(viewId)
if (!isError) {
log.info("表头信息:" + data["displayFields"])
log.info("数据集:" + data["dataSet"])
} else {
log.info("查询失败:" + errorMsg)
}
17. queryMultiDimViewDataByFilter 根据筛选器、图表Id 查询多维度/层级统计图
Fx.BI.queryMultiDimViewDataByFilter(<String viewId>, <List filterList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
viewId | String | 图表ID |
filterList | List | 自定义筛选器 |
返回值类型
APIResult
返回值说明
Map
Groovy举例
String viewId = "BI_64e9dc157386e90001dfba59"; //图表Id 图标名称:指定层级带序号-3
List filters = [ //筛选范围
[
"filterId":"BI_64e9dc157386e90001dfba60",
"value1":"[{\"nodeName\":\"负责人主属部门-2\",\"optionCode\":2,\"value\":2,\"type\":\"l\"}]"
]
]
def (Boolean isError3, Map data3, String errorMsg3) = Fx.BI.queryMultiDimViewDataByFilter(viewId, filters)
if(!isError3) {
log.info("表头信息:" + data3["displayFields"])
log.info("数据集:" + data3["dataSet"])
} else {
log.info("条件查询失败:" + errorMsg3)
}