Fx.BI

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

2024-09-15
2 4