I didnt understand the question properly.But any how i modified your first snippet code for your new requirement(as per my perception).Please check the code once if you face any issues or other requirement let me know ![]()
![]()
/*You Can You formatter function for manipulate each values in the model */.
var oModel = new sap.ui.model.json.JSONModel({
businessData : [
{Country :null,revenue : 0,profit: 0, population:0},
{Country :"Canada",revenue:410.87,profit:-141.25, population:34789000},
{Country :"China",revenue:338.29,profit:133.82, population:1339724852},
{Country :"France",revenue:487.66,profit:348.76, population:65350000},
{Country :"Germany",revenue:470.23,profit:217.29, population:81799600},
{Country :"India",revenue:170.93,profit:117.00, population:1210193422},
{Country :"United States",revenue:905.08,profit:609.16, population:313490000}
]
});
var filter = new sap.ui.model.Filter("Country", function(oValue){
return oValue!==null;
});
// A Dataset defines how the model data is mapped to the chart
var oDataset = new sap.viz.ui5.data.FlattenedDataset({
dimensions : [
{
axis : 1,
name : 'Country',
value : "{Country}"
}
],
measures : [
{
name : 'Profit',
//value : '{profit}'
value : {
path : "profit",
formatter : function(oVal){
if(oVal>10){
oBarChart.getAggregation('plotArea').setColorPalette(['#00B050','#CCFF66']);
}
return oVal;
}
}
},
{
name : 'Revenue',
value : '{revenue}'
}
],
/* data : {
path : "/businessData"
}*/
}).bindData("/businessData",null,null,[filter]);
var oBarChart = new sap.viz.ui5.Bar({
width : "80%",
height : "400px",
plotArea : {
'colorPalette' : ['#FF0000','#FFC300']
},
title : {
visible : true,
text : 'Profit and Revenue By Country'
},
dataset : oDataset
});
oBarChart.setModel(oModel);
return(oBarChart);