我有一张图表,将一年的价值与另一年的价值进行比较'。我想要做的是在度量的定义中使用变量,以便图例显示年份'数字(来自变量)。我尝试将变量分配给' name'图表的配置,但我这样做时出错。目前,我已经展示了“开始年份”#39;和'结束年''但是真的希望它是用户比较的实际年份数。
这是我的控制器中定义度量和提要的部分:
I have two variables that start as the current year and the previous year, but the user can modify those values.
var startYear = today.getFullYear();
var endYear = today.getFullYear()-1;
var oDataset = new FlattenedDataset({
dimensions: [{
name: "KPI",
value: "{field}"
}],
measures: [{
name: "Start Year", <- I tried putting startYear here and below but get errors
value: "{current}"
},{
name: "End Year", <- tried putting endYear here and below but got errors
value: "{previous}"
}],
data: {
path: "/bullet",
filters: [oFilter]
}
});
oVizFrame.setDataset(oDataset);
oVizFrame.setModel(oModel);
oVizFrame.setVizProperties({
plotArea: {
dataLabel: {
visible: true,
formatString: '#,##0'
},
colorPalette: ['sapUiChartPaletteSemanticNeutral'],
gap: {
visible: true
}
},
valueAxis: {
title: {
visible: false,
}
},
legend: {
title: {
visible: false
}
},
title: {
visible: true,
text: 'Year Comparison'
}
});
var feedValueAxis = new FeedItem({
'uid': "valueAxis",
'type': "Measure",
'values': ["Start Year"] <- tried putting startYear here but didn't work
}),
feedCategoryAxis = new FeedItem({
'uid': "categoryAxis",
'type': "Dimension",
'values': ["KPI"]
}),
feedTargetValues = new FeedItem({
'uid': "targetValues",
'type': "Measure",
'values': ["End Year"] <- tried putting endYear here but got error
});
有人可以帮忙吗?
答案 0 :(得分:0)
var startYear = String(today.getFullYear());
var endYear = String(today.getFullYear()-1);
//Please convert the values to string.
var oDataset = new FlattenedDataset({
dimensions: [{
name: "KPI",
value: "{field}"
}],
measures: [{
name: "Start Year",
value: startYear//just put the variable here without quotes
},{
name: "End Year",
value: endYear //likewise
}],
data: {
path: "/bullet",
filters: [oFilter]
}
});
oVizFrame.setDataset(oDataset);
oVizFrame.setModel(oModel);
oVizFrame.setVizProperties({
plotArea: {
dataLabel: {
visible: true,
formatString: '#,##0'
},
colorPalette: ['sapUiChartPaletteSemanticNeutral'],
gap: {
visible: true
}
},
valueAxis: {
title: {
visible: false,
}
},
legend: {
title: {
visible: false
}
},
title: {
visible: true,
text: 'Year Comparison'
}
});
var feedValueAxis = new FeedItem({
'uid': "valueAxis",
'type': "Measure",
'values': ["Start Year"]
}),
feedCategoryAxis = new FeedItem({
'uid': "categoryAxis",
'type': "Dimension",
'values': ["KPI"]
}),
feedTargetValues = new FeedItem({
'uid': "targetValues",
'type': "Measure",
'values': ["End Year"]
});
//Hope this works.
答案 1 :(得分:0)
我终于让这个工作了 - 我想我还有其他一些问题导致这个问题无法解决,但是一旦我解决了这个问题就行了起来了:
createDataset: function(sPath, sYr, eYr){
return new sap.viz.ui5.data.FlattenedDataset({
dimensions: [{
axis : 1,
name: "Month",
value: "{month}"
}],
measures: [{
name: eYr, << this contains the year I want in legend
value: "{current}"
},{
name: sYr, << this contains the year I want in legend
value: "{previous}"
}],
data: {
path: sPath
}
});
},
createFeedItem: function(sYr, eYr) {
return new FeedItem({
'uid': "valueAxis",
'type': "Measure",
'values': [ sYr, eYr ] << this contains the year I want in legend, same values as when FlattenedDataSet is created
});
},
createCatItem: function() {
return new FeedItem({
'uid': "categoryAxis",
'type': "Dimension",
'values': ["Month"]
});
},