Skip to Content

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

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply