Recherche…


Appliquer un filtre sur OData et Viz-Chart

Ceci est un exemple de Viz-Charts avec graphique linéaire avec filtres. Il existe de nombreuses techniques pour résoudre le problème du filtrage.

Le point à noter est que vous devez lier le jeu de données de VizFrame par son ID, puis appliquer le filtrage sur le jeu de données à plat

Dans le contrôleur:

// 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]);
                    ​

Dans la vue XML:

<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>


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow