Dategrain combined with aggregation

As I can read here: https://developer.domo.com/docs/dev-studio-references/data-api#aggregations


"DATEGRAIN

Perform a groupby with predefined date grains. By default, numerical columns are summed and unique entries of non-numerical columns are counted. Can be combined with an aggregation to override this default behavior."

I would like to change the default sum to an average. How could this be changed?


My query looks like this:

var dataAggregateBy = 'day';
var dategrain = [dataDateColumnName + ' by ' + dataAggregateBy];
var query = `/data/v1/${datasets[0]}?fields=${fields.join()}&dategrain=${dategrain.join()}&filter=${filter.join()}`;
Tagged:

Best Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    According to that documentation you should be able to supply it as a GET parameter with the value of a cvs list of fields you wish you average:

    var dataAggregateBy = 'day';
    var dategrain = [dataDateColumnName + ' by ' + dataAggregateBy];
    var query = `/data/v1/${datasets[0]}?avg=${avg_fields.join())&fields=${fields.join()}&dategrain=${dategrain.join()}&filter=${filter.join()}`;
    
    
    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • enara_martin
    enara_martin Member
    Answer ✓

    Thank you for your response!

    I believe you mixed up ${avg_fields.join()) and ${avg_fields.join()}.

    But, other than that, it works!

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    I did. Apologies! If you could accept the answer so others can made easily find it out they have the same question I’d appreciate it.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**

Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    According to that documentation you should be able to supply it as a GET parameter with the value of a cvs list of fields you wish you average:

    var dataAggregateBy = 'day';
    var dategrain = [dataDateColumnName + ' by ' + dataAggregateBy];
    var query = `/data/v1/${datasets[0]}?avg=${avg_fields.join())&fields=${fields.join()}&dategrain=${dategrain.join()}&filter=${filter.join()}`;
    
    
    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • enara_martin
    enara_martin Member
    Answer ✓

    Thank you for your response!

    I believe you mixed up ${avg_fields.join()) and ${avg_fields.join()}.

    But, other than that, it works!

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    I did. Apologies! If you could accept the answer so others can made easily find it out they have the same question I’d appreciate it.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**