Virtual select distinct list from datasource

https://learninghub.kx.com/forums/topic/virtual-select-distinct-list-from-datasource

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); }

 

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);
}