Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
gopalanand
Product and Topic Expert
Product and Topic Expert
Hello guys,

I was working with  line-chart. While creating the chart i wanted to use filters. I tried lot of techniques and found this way to solve the Filtering issue.

Point to be noted is that you need to bind the Dataset of VizFrame by its ID and then apply the filtering on the FlattenedDataset

Here is the code how I used it

In controller:
	
// defining the Filter
var oFilter = new sap.ui.model.Filter("Data1",sap.ui.model.FilterOperator.GT,10);
//Setting oModel
var oModel = new sap.ui.model.odata.ODataModel("/destinations/v4/abc/http/app.svc", oConfig);
this.getView().setModel(oModel);
//Binding the filtered data to the chart by callind it from its ID and binding the data there
this.getView().byId("idVizFrame").getDataset().getBinding("data").filter([oFilter]);

The XML part Will be Like this:
	<viz:VizFrame id="idVizFrame" uiConfig="{applicationSet:'fiori'}" height='100%' width="100%" vizType='line' >	
<viz:dataset>
<viz.data:FlattenedDataset data="{/YOUR_ENTITY_SET}">
<viz.data:dimensions>
<viz.data:DimensionDefinition name="TimeStamp" value="{TimeStamp}"
/>
</viz.data:dimensions>
<viz.data:measures>
<viz.data:MeasureDefinition name="SENSOR1" value="{SENSOR1}"/>
</viz.data:measures>
</viz.data:FlattenedDataset>
</viz:dataset>
<viz:feeds>
<viz.feeds:FeedItem id='valueAxisFeed' uid="valueAxis" type="Measure" values="Data_SENSOR1"/>
<viz.feeds:FeedItem id='categoryAxisFeed' uid="categoryAxis" type="Dimension" values="TimeStamp"/>
</viz:feeds>
</viz:VizFrame>

Hope you can solve any filtering issue in viz-charts using this .

Thanks
Gopal Anand
3 Comments