如何在gooddata-js API中向“ execution.getData”添加“ where”条件

时间:2019-07-18 15:23:15

标签: gooddata

我正在使用gooddata-js API,并且需要一些帮助,以便将'where'条件包含在'execution.getData'方法中。 例如:我需要比较日期月份/年份属性,例如 [/ gdc / md / {PROJECT_ID} / obj / OBJ_ID] = [/ gdc / md / {PROJECT_ID} / obj / OBJ_ID / elements?id = 24235 ]

我尝试使用以下条件,但没有用!

sdk.execution.getData(projectId, elements,'[/gdc/md/{PROJECT_ID}/obj/OBJ_ID] = [/gdc/md/{PROJECT_ID}/obj/OBJ_ID/elements?id=24235]').then(function(dataResult){

     var headers = dataResult.headers.map(function (h) {
            return h.title;
     });
     var data1 = dataResult.rawData;
}'

我希望将数据接收到 dataResult.headers 中,但 dataResult.rawData 为空。

1 个答案:

答案 0 :(得分:0)

根据GooddataJS文档,getData方法的第三个参数是executionConfiguration对象 https://sdk.gooddata.com/gooddata-js/api/classes/execution.html#method_getData

所以我可以想象,像这样:

{
    where: {
        "/gdc/md/YOUR_PROJECT_ID/obj/YOUR_DATE_DATASET_ID": {
            "$between":[-1,-1],
            "$granularity":"GDC.time.year"
        }
    }
}

将在执行期间应用日期过滤器,或者

{
    where: {
        "/gdc/md/YOUR_PROJECT_ID/obj/YOUR_ATTRIBUTE_DISPLAY_FORM_ID": {
            "$in":[{
                "id":"/gdc/md/YOUR_PROJECT_ID/obj/YOUR_ATTRIBUTE_ID/elements?id=SELECTED_ATTRIBUTE_ELEMENT_ID"
            }]
        }
    }
}

将应用肯定属性过滤器