我正在尝试实施SAPUI5图表。我尝试使用演示工具包中的示例,现在想要更改它以使用我的数据。我可以让图表显示但有几个问题。
1)我的姓名'的尺寸和措施。从我必须做的事情来获得图表,似乎名称必须匹配'值'中的字段名称。例如,如果我有字段' classProducts'我有这个:价值:{classProducts}'但当然,这不是一个描述性的标题。当我有了这个名字时:' XXX'如果XXX不是' classProducts',我会收到此错误:
"无法创建图表:[50014] - Feed类产品无法接受 更多数据容器。"
根据我在文档中找到的内容,名称是您要在图例和图表中显示的名称。有没有人有任何关于如何更改显示为我想要的文字名称的建议?
2)我正在使用柱形图,并希望比较两年之间的值。我可以用两年时间来展示,但是有没有办法用不同的颜色显示每一列?例如,2013年的价值是黄色,2014年是蓝色?
3)图表的高度和宽度是否有任何已知限制(最小尺寸)?我想让图表真的很小,因为我必须在屏幕上一次显示几个。我尝试从Demo Kit的值中更改宽度和高度,但是当我更改值时,图表根本没有显示。
这是我的控制器:
var oVizFrame = myView.byId("idVizFrameColumn");
var oPopOver = myView.byId("idPopOver");
var oModel = new JSONModel("ByYear_sum.json");
var oDataset = new FlattenedDataset({
dimensions: [{
name: "Year",
value: "{Year}"
}],
measures: [{
name: 'classProducts',
value: '{classProducts}'
}],
data: {
path: "/book"
}
});
oVizFrame.setDataset(oDataset);
oVizFrame.setModel(oModel);
oVizFrame.setVizProperties({
valueAxis: {
label: {
formatString: 'u'
}
},
legend: {
title: {
visible: false
}
},
title: {
visible: true,
text: 'Classified Products'
}
});
var feedValueAxis = new FeedItem({
'uid': "valueAxis",
'type': "Measure",
'values': ["classProducts"]
}),
feedCategoryAxis = new FeedItem({
'uid': "categoryAxis",
'type': "Dimension",
'values': ["Year"]
});
oVizFrame.addFeed(feedValueAxis);
oVizFrame.addFeed(feedCategoryAxis);
oPopOver.connect(oVizFrame.getVizUid());
以下是我的示例数据(它是演示工具包中的原始数据的子集,但插入了我的字段):
{
"book": [{
"Year": 2001,
"Profit": 213863.42,
"Unit Price": 3001.79,
"Units Available": 35255,
"Cost": 512189.07,
"Revenue": 726052.49,
"classProducts": 904.00,
"Units Sold": 12548
}, {
"Year": 2002,
"Profit": 224016.45,
"Unit Price": 2475.09,
"Units Available": 40748,
"Cost": 428884.52,
"Revenue": 652900.98,
"classProducts": 791.00,
"Units Sold": 12607
}]
}
答案 0 :(得分:2)
如上所述,我将问题解决了问题#1。当我走向不同的方向时,其他人已经得到了解决。