cancel
Showing results for 
Search instead for 
Did you mean: 

How can I add and remove Measures dynamically in sapui5 VizFrame?

zbyslaw91
Explorer
0 Kudos

I would like to change Measures dynamically in my VizFrame like in ChartDemo App from sapui5 docs [link below].

https://sapui5.netweaver.ondemand.com/test-resources/sap/viz/demokit/chartdemo/index.html

So when I click to one of my five checkboxes the proper Measure will be added or removed in case of unchecking. I have one json from which I get data.

I've tried with this code:

if(oCheckBox.getSelected()){
                       oVizFrame.removeFeed(feedValuesAxis);                                       feedValuesAxis.setValues("ValueFromJSON");           
                       oVizFrame.addFeed(feedValuesAxis);                    }

But it causes error:

[50005] - valueAxis : does not meet the minimum or maximum number of feeds definition.

I am using SAP UI5 version 1.28. I have one VizFrame, one Dataset with all Measures and two FeedItem one for values and one for Dimension.

I guess I have to create a binding, right? But how should I do it? Thanks a lot for any pieces of advice.

Accepted Solutions (1)

Accepted Solutions (1)

former_member196805
Contributor
0 Kudos

In order to update the measures/dimensions, you should destroy the dataset and feedItems first which were previously bound to vizFrame:

vizFrame.destroyFeeds();

vizFrame.destroyDataset();

Then you redefine the new ones:

var newDataset = new sap.viz.ui5.data.FlattenedDataset(...);

var newFeeds = new sap.viz.ui5.controls.common.feeds.FeedItem(......);

You could use vizUpdate to bound them back to vizFrame

vizFrame.vizUpdate({data: "newDataset", feeds: "newFeeds"})

Answers (1)

Answers (1)

former_member484715
Contributor
0 Kudos

Hi,

You can view this app and its code to modify measures at runtime.

Regards,

Arjun Biswas