SAPUI5 VIZ 柱形图集成。无效的数据绑定错误

SAPUI5 VIZ column chart integration. Invalid databinding error

我正在尝试显示来自 SAPUI5 的 VIZ 图表,但无法绑定从模型接收的数据。它抛出 [50017] - 无效数据绑定 错误。我在下面发布了我的代码,请看一下并帮助我找到原因。

var assignedContentData = {
    "AssignedContentData": [{
        "description": "Capital",
        "newsletter": 2,
        "press_release": 12,
        "letter": 1,
        "notice": 0,
        "bulletin_memorandum": 0
    }, {
        "description": "NA",
        "newsletter": 0,
        "press_release": 0,
        "letter": 0,
        "notice": 1,
        "bulletin_memorandum": 0
    }, {
        "description": "Equity",
        "newsletter": 0,
        "press_release": 4,
        "letter": 0,
        "notice": 5,
        "bulletin_memorandum": 12
    }]
};

var oAssignContentModel = new sap.ui.model.json.JSONModel({
    data: assignedContentData
});

sap.ui.getCore().setModel(oAssignContentModel, "oAssignContentModel");
var assignedContentBarChart = new sap.viz.ui5.controls.VizFrame("assignedContentBarChart", {
    vizType: "stacked_column"
});

var oDatasetAssignedContentBar = new sap.viz.ui5.data.FlattenedDataset({
    dimensions: [{
        name: "Description",
        value: "{description}"
    }],
    measures: [{
        name: "Newsletter",
        value: "{newsletter}"
    }],
    data: {
        path: "/data/AssignedContentData"
    }
});

var feedValueAxis1 = new sap.viz.ui5.controls.common.feeds.FeedItem({
    'uid': "valueAxis",
    'type': "Measure",
    'values': ["Newsletter"]
});
var feedCategoryAxis1 = new sap.viz.ui5.controls.common.feeds.FeedItem({
    'uid': "categoryAxis",
    'type': "Dimension",
    'values': ["Description"]
});
var feedColorAxis1 = new sap.viz.ui5.controls.common.feeds.FeedItem({
    'uid': "color",
    'type': "Dimension",
    'values': ["Newsletter", "Press_Release", "Letter", "Notice", "Bulletin_memorandum"]
});
assignedContentBarChart.setVizProperties({
    plotArea: {
        dataLabel: {
            visible: true,
            formatString: "#,##0"
        }
    },
    legend: {
        title: {
            visible: false
        }
    },

    title: {
        visible: true,
        text: 'Bar Chart'
    }
});

assignedContentBarChart.setDataset(oDatasetAssignedContentBar);
assignedContentBarChart.addFeed(feedValueAxis1);
assignedContentBarChart.addFeed(feedCategoryAxis1);

您的绑定不正确。由于您的模型名称是 oAssignContentModel,它也必须反映在绑定中以及 data 属性 赋值中:

var oDatasetAssignedContentBar = new sap.viz.ui5.data.FlattenedDataset({
    dimensions: [{
        name: "Description",
        value: "{description}"
    }],
    measures: [{
        name: "Newsletter",
        value: "{newsletter}"
    }],
    data: {
        path: "oAssignContentModel>/data/AssignedContentData"
    }
});

或者您可以从模型中删除名称,并且您可以保持数据绑定不变:

sap.ui.getCore().setModel(oAssignContentModel);