cancel
Showing results for 
Search instead for 
Did you mean: 

Virtual select distinct list from datasource

rcoen01
New Contributor II

This is a problem that I've come across a few times now and my javascript skills just aren't up to the task. 

 

What code do I need to create a virtual datasource that takes in a table and outputs a distinct list from a column of that table?

 

I'm able to extract a column from a datasource using

function (source, callback) {
var result = {
"columns": [
"exchangeName",
],
"meta": {
"exchangeName": 11
},
"rows":[]
}

result.rows= _.map(source.rows, function(row) {
return {
"exchangeName": row.exchangeName,
}});

callback(result);

}

 

1 ACCEPTED SOLUTION

Kieran
New Contributor II
New Contributor II

I have added an example below of how to get the distinct set of results (using _.uniqBy) . For more information on this function or any other useful functions please have a look at : https://lodash.com/docs/4.17.15

function (source, callback) {
    var result = {
      "columns": ["exchangeName"],
      "meta": { "exchangeName": 11},
      "rows": []
    }
    result.rows= _.uniqBy(source.rows,"exchangeName");
    callback(result);
}

View solution in original post

1 REPLY 1

Kieran
New Contributor II
New Contributor II

I have added an example below of how to get the distinct set of results (using _.uniqBy) . For more information on this function or any other useful functions please have a look at : https://lodash.com/docs/4.17.15

function (source, callback) {
    var result = {
      "columns": ["exchangeName"],
      "meta": { "exchangeName": 11},
      "rows": []
    }
    result.rows= _.uniqBy(source.rows,"exchangeName");
    callback(result);
}