Skip to main content
10-Marble
December 14, 2019
Solved

Get a Particular Infotable Field with a Service

  • December 14, 2019
  • 5 replies
  • 3256 views

Hi Team,

 

I have the below service, calling QueryImplementingThingswithData that returns to me an Infotable with several fields,

 

However, I only want my service to return a particular field from this infotable, please, how to do it?

 

 

// result: INFOTABLE dataShape: "RootEntityList"
var retorno = ThingTemplates["MyTemplate"].QueryImplementingThingsWithData({
maxItems: undefined /* NUMBER */,
nameMask: undefined /* STRING */,
query: myquery /* QUERY */,
tags: undefined /* TAGS */
});

 

//this query will return an infotable with many fields, how do I return only 1 of these fields?


var result = //I just need 1 field from the infotable above

Best answer by Radu

That's what Distinct does, it removes duplicates and returns only one column.

 

If you want to keep the duplicates, you'd have to use the CreateInfoTable service to create a new infotable, add the desired field to it through AddField, and then add rows to the newly created infotable using AddRow and iterating through the bigger infotable.

 

You can access column values like this: info.rows[x].columnName.

5 replies

15-Moonstone
December 14, 2019

Hi,

 

In the Query service, you can define maxItems as 1, and it will only return one result.

vieirac110-MarbleAuthor
10-Marble
December 14, 2019
Actually, i need to return all rows, but only a particular field for these set of rows
15-Moonstone
December 14, 2019

You can use the Distinct() method of the InfoTableFunctions for that. Search for "Distinct" in Code Snippets.