2015-04-16 3 views
2

Я пытаюсь реализовать схему 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 
    }] 
} 
+1

Я, наконец, наткнулся на исправление моего первого вопроса. Проблема была решена, когда я поместил тот же текст, который я ввел как «имя», также в значение FeedValueAxis в «значениях». По-прежнему оценил бы вклад в вопросы № 2 и № 3. Благодарю. – user3861284

ответ

2

Как упоминалось , Я решил вопрос на вопрос №1. Остальные были решены, когда я пошел в другом направлении.