Я пытаюсь реализовать схему SAPUI5. Я попытался использовать пример в демо-комплекте и теперь хочу изменить его, чтобы использовать мои данные. Я могу отобразить диаграмму, но у вас есть пара проблем.Вопросы по сборке SAPUI5
1) У меня возникают проблемы с «именем» измерений и мер. Из того, что мне нужно было сделать, чтобы показать диаграмму, кажется, что имя должно соответствовать имени поля в «значении». Так, например, если у меня есть поле «classProducts», у меня есть это: value: {classProducts} », но, конечно, это не много описательного названия. Когда у меня было имя: «XXX», если XXX ничего, кроме «classProducts», я получаю эту ошибку:
"Failed to create chart:[50014] - Feed classProducts could not accept more data containers."
Из того, что я нашел в документации, название является то, что вы хотите отобразить в легенды и на графике. Есть ли у кого-нибудь какие-либо предложения относительно того, как изменить имя, показанное как любой текст, который я хочу?
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
}]
}
Я, наконец, наткнулся на исправление моего первого вопроса. Проблема была решена, когда я поместил тот же текст, который я ввел как «имя», также в значение FeedValueAxis в «значениях». По-прежнему оценил бы вклад в вопросы № 2 и № 3. Благодарю. – user3861284