This is a migrated thread and some comments may be shown as answers.

Aggregate function returns empty object after query

4 Answers 152 Views
Data Source
This is a migrated thread and some comments may be shown as answers.
Sam
Top achievements
Rank 2
Sam asked on 24 Apr 2018, 02:51 PM

Aggregate function returns empty object after query

http://jsbin.com/lahaficupu/1/edit?html,output

4 Answers, 1 is accepted

Sort by
0
Sam
Top achievements
Rank 2
answered on 24 Apr 2018, 02:52 PM
Please see the browser console output.
0
Sam
Top achievements
Rank 2
answered on 24 Apr 2018, 03:06 PM
Please see the browser console output.
0
Sam
Top achievements
Rank 2
answered on 24 Apr 2018, 03:08 PM
var ds = new kendo.data.DataSource({
    data: [
      {"foo": {"bar": 10}},
      {"foo": {"bar": 10}},
      {"foo": {"bar": 10}},
      {"foo": {"bar": 20}}
    ],
     
    aggregate: [
      {field: "foo.bar", aggregate: "sum"}
    ]
})
ds.read();
console.log('results', ds.view().length);
console.log('aggregates', ds.aggregates());
console.log('run filter')
ds.query({filter:{field: "foo.bar", operator: "eq", value: 20}})
console.log('results', ds.view().length);
console.log('aggregates', ds.aggregates());
0
Dimitar
Telerik team
answered on 26 Apr 2018, 12:06 PM
Hello Sam,

The dataSource's query() method resets the aggregate configuration by default. Therefore, to maintain it in the query result you can pass it as follows:
<script>
  ds.query({filter:{field: "foo", operator: "eq", value: 20}, aggregate: ds.aggregate()}).then(function() {   
    console.log('results', ds.view().length);
    console.log('aggregates', ds.aggregates());
  })
</script>

Regards,
Dimitar
Progress Telerik
Try our brand new, jQuery-free Angular components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Tags
Data Source
Asked by
Sam
Top achievements
Rank 2
Answers by
Sam
Top achievements
Rank 2
Dimitar
Telerik team
Share this question
or